Если вы хотите поменять местами r1
и r2
, вы должны либо передать указатели, либо использовать ссылки C ++.Обратите внимание, что использование ссылок C ++ потребует от вас погружения в Objective-C ++, что в данном случае означает именование вашего файла .mm
вместо .m
.
void swap_with_pointers(int *r1, int *r2)
{
int temp;
temp = *r1;
*r1 = *r2;
*r2 = temp;
}
void swap_with_references(int &r1, int &r2)
{
int temp;
temp = r1;
r1 = r2
r2 = temp;
}
Затем используйте одну из ваших реализаций, например так:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
int x = 3;
int y = 4;
swap_with_pointer(&x, &y); // swap_with_references(x,y);
printf("x = %d, y = %d", x, y);
return 0;
}
Выходные данные в любом случае:
x = 4, y = 3