【发布时间】:2022-01-28 16:26:15
【问题描述】:
在 C++ 中有没有办法模拟这种 Python 语法
a,b = b,(a+b)
我知道这对于一个临时变量来说是微不足道的,但我很好奇如果不使用它是否可能?
【问题讨论】:
标签: python c++ variable-assignment swap
在 C++ 中有没有办法模拟这种 Python 语法
a,b = b,(a+b)
我知道这对于一个临时变量来说是微不足道的,但我很好奇如果不使用它是否可能?
【问题讨论】:
标签: python c++ variable-assignment swap
可以使用标准C++函数std::exchangelike
#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
您可以在计算斐波那契数的函数中使用这种方法。
【讨论】: