理论上的输入/输出流操作符关联性:
左到右
(例如,据此:Sait Mary's University website
实践中的输入/输出流运算符关联性:
#include <iostream>
int func0() {
std::cout << "func0 executed" << std::endl;
return 0;
}
int func1() {
std::cout << "func1 executed" << std::endl;
return 1;
}
int func2() {
std::cout << "func2 executed" << std::endl;
return 2;
}
int main() {
std::cout << func0() << func1() << func2() << std::endl;
return 0;
}
输出(MSVCPP 2010、2012):
func2 executed
func1 executed
func0 executed
012
Press any key to continue . . .
此示例演示以从右到左的顺序调用函数(尽管它们的值按预期的从左到右打印)。
问题: 此代码示例如何与关于 LEFT TO RIGHT 执行的标准词相关联?为什么函数执行按从右到左的顺序执行?