C言語なら俺に聞け(入門編)Part 96at TECH
C言語なら俺に聞け(入門編)Part 96 - 暇つぶし2ch110:デフォルトの名無しさん
12/02/06 23:58:27.67
>>54-55
馬鹿すぎて話しにならない。

>>59
副作用完了点舐めすぎ。
関数呼び出しが副作用完了点と言うのは正しいが、今回の問題は引数の評価だから、全然違う話。

例えば
int foo(int x, int y){ return x + y; }
int main(){
int a = 1;
int b = foo(a++, a++);
printf("a = %d, b = %d\n", a, b);
return 0;
}
ってやってみればわかる。
引数の評価毎に副作用完了点があるなら、評価の順序にかかわらず a = 3, b = 3 になるはず。(GCC/2.95)
ところが、コンパイラによっては a = 3, b = 2 になる奴がある。(Visual Studio 2010)
もちろん両方ともに処理系としては正しい動作。
そもそも式がダメなのに、それに含まれる関数の引数評価に副作用完了点があると思えるなんて馬鹿すぎる。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch