|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ 演算 : [えんざん] 1. (n,vs) operation ・ 子 : [こ, ね] (n) first sign of Chinese zodiac (The Rat, 11p.m.-1a.m., north, November)
プログラミング言語 C および C++ におけるコンマ演算子(コンマえんざんし)は、左オペランドを評価しその値を捨て、その後右オペランドを評価する演算子である。コンマ演算子の値と型は右オペランドの値と型となる。C では右辺値だが、C++ では右オペランドが左辺値であれば左辺値となる。また、左オペランドの評価に対する副作用(C++では一時変数の破棄を除く)が完了した後に右オペランドが評価されることが規格上保証されている。 ==使用例== int a=1, b=2, c=3, i; // このコンマは演算子としてではなくセパレータとして作用する i = (a, b); // 左オペランドaの値は読み捨てられるため、iにはbの値が代入される ... a=1, b=2, c=3, i=2 i = a, b; // iにはaが代入される。つまり (i = a), b; と書くのと同値 ... a=1, b=2, c=3, i=1 i = (a += 2, a + b); // aに2を加算した後、a+b = 3+2 をiへ代入する ... a=3, b=2, c=3, i=5 i = a += 2, a + b; // aに2を加算した後、aの値をiへ代入するつまり(i = a += 2), a + b; と同値 ... a=5, b=2, c=3, i=5 i = a, b, c; // aの値をiへ代入 ... a=5, b=2, c=3, i=5 i = (a, b, c); // cの値をiへ代入 ... a=5, b=2, c=3, i=3 int j=0; j++, j++; // 左オペランドの評価に対する副作用完了後に右オペランドが評価されるため未定義動作とならない(j=2) (i, j) = 7; // C ではコンマ演算子の結果は右辺値であるためコンパイルできない。C++では左辺値となるため問題ない(j=7) 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「コンマ演算子」の詳細全文を読む スポンサード リンク
|