C++中是否有一种方法来模拟这个Python语法
a,b = b,(a+b)
我知道使用一个临时变量可以实现这一点,但我很好奇,不使用临时变量是否可以实现这一点?
C++中是否有一种方法来模拟这个Python语法
a,b = b,(a+b)
我知道使用一个临时变量可以实现这一点,但我很好奇,不使用临时变量是否可以实现这一点?
你可以使用标准的C++函数std::exchange
#include <utility>
//...
a = std::exchange( b, a + b );
这是一个演示程序
#include <iostream>
#include <utility>
int main()
{
int a = 1;
int b = 2;
std::cout << "a = " << a << '\n';
std::cout << "b = " << b << '\n';
a = std::exchange( b, a + b );
std::cout << "a = " << a << '\n';
std::cout << "b = " << b << '\n';
}
程序输出为
a = 1
b = 2
a = 2
b = 3
可以在计算斐波那契数的函数中使用这种方法.