use*_*916 4 c++ python swap variable-assignment
C++ 有没有办法模拟这个 python 语法
a,b = b,(a+b)
Run Code Online (Sandbox Code Playgroud)
我知道使用临时变量这是可能的,但我很好奇是否可以不使用临时变量?
您可以使用标准 C++ 函数,std::exchange例如
#include <utility>
//...
a = std::exchange( b, a + b );
Run Code Online (Sandbox Code Playgroud)
这是一个演示程序
#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';
}
Run Code Online (Sandbox Code Playgroud)
程序输出是
a = 1
b = 2
a = 2
b = 3
Run Code Online (Sandbox Code Playgroud)
您可以在计算斐波那契数的函数中使用此方法。