理論上の入力/出力ストリーム演算子の結合性:
左から右へ
(たとえば、これによると:Sait Mary's UniversityのWebサイト
入力/出力ストリーム演算子の結合性:
#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 . . .
このサンプルは、関数が RIGHT TO LEFT の順序で呼び出されることを示しています (期待どおりに値が出力されているにもかかわらず、LEFT TO RIGHT)。
質問: このコード サンプルは、LEFT TO RIGHT 実行に関する標準用語とどのように関連していますか? また、関数の実行が RIGHT TO LEFT の順序で実行されるのはなぜですか?