3

理論上の入力/出力ストリーム演算子の結合性:

左から右へ

(たとえば、これによると: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 の順序で実行されるのはなぜですか?

4

2 に答える 2