如何交换两个变量的值?
这有效,但我更喜欢一个班轮:
int a = 10, b = 30;
a = a + b;
b = a - b;
a = a - b;
答案 0 :(得分:4)
也许这是在作弊,但那只是:
std::swap(a, b);
答案 1 :(得分:0)
std::tie(x,y) = std::make_pair(y,x);
但是std::swap(x,y)
更具可读性,可能效率更高。
答案 2 :(得分:0)
int main()
{
int x = 10, y = 10;
y = (x + y)-y;
}
解决了一点但不完全但是如果你使用这个代码就解决了
int swap(int *x, int y){
*x = (*x + *y) - *x;
return 0;
}
int main()
{
int x = 10;
int y = 5;
y = (x + y) - y + swap(&x, &y);
cout << x << endl << y << endl;
}