1つの式に複数の副作用がないようにします.
1、一般的に、c/c++プログラムを編成するには、1つの文に2つの式が副作用しないという規律があります.
典型的なこのような挙動には、b=(a++)+(a++)+(a++);
これは典型的なこの規律に違反する行為である.各a++には副作用がある(aの値を変える).式全体の値は、評価順序に直接接続されています.
2、インスタンスコード:
典型的なこのような挙動には、b=(a++)+(a++)+(a++);
これは典型的なこの規律に違反する行為である.各a++には副作用がある(aの値を変える).式全体の値は、評価順序に直接接続されています.
2、インスタンスコード:
#include <iostream>
using namespace std;
int fun(int i)
{
cout << "fun"<<i ;
return i;
}
int j=1;
int fun2(int i)
{
return j++;
}
int main()
{
cout << "m" << fun(1) << fun(2) << fun(3) << endl; //"f3f2f1m123"
// fun() ( ).
// : fun , .
cout << fun2(j) << fun2(j) << fun2(j)<< endl;
// : ,
int i = 1;
cout << i++ << i++ << i++ << endl;
// , i++ .
return 0;
}