我正在努力学习 C++。在进行实验时,我输入了以下代码,并不期望它能够工作,但希望它会:
int one = 1, two = 2;
one, two = two, one;
cout << "one = " << one << "\n";
cout << "two = " << two << "\n";
编译器没有抱怨这一事实让我感到鼓舞,因为这是我喜欢 python 的主要特性之一,而我所学过的大多数编程语言都不匹配——在分配之前评估多个表达式的能力结果不使用临时变量。但是,当我运行它时,我发现这段代码似乎无效。
在玩了一会儿之后,我发现two
实际上正在设置变量 - 所以,如果我运行这段代码:
one, two = 3, 4;
two
将等于 3,但one
将保持不变。所以我的问题是,编译器在这个语句中到底在做什么?我这辈子都想不通。
谢谢,布兰登