トップページ > プログラム > 2014年12月13日 > UaeG+OzW

書き込み順位&時間帯一覧

18 位/244 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000001001111000005



使用した名前一覧書き込んだスレッド一覧
名無しさん@そうだ選挙に行こう
C++14/C++1z 20

書き込みレス一覧

C++14/C++1z 20
139 :名無しさん@そうだ選挙に行こう[sage]:2014/12/13(土) 12:28:19.76 ID:UaeG+OzW
順序が未規定なのがツマラン罠になってるから決めようって話なのに、罠増やすような文法足してどうする気だよw
C++14/C++1z 20
144 :名無しさん@そうだ選挙に行こう[sage]:2014/12/13(土) 15:55:04.14 ID:UaeG+OzW
>>141
ひとつの式の中で同じ変数の変更と参照を行ってると警告、としても
a = a + 1; すら引っかかるだろうからなあ
実用的な警告の規定はそれはそれで難しそう
C++14/C++1z 20
145 :名無しさん@そうだ選挙に行こう[sage]:2014/12/13(土) 16:19:57.39 ID:UaeG+OzW
そうだな、左辺値参照としての評価は値のロードよりも後回し

a = a + 1; //aの値のロード、+1、aのアドレスのロード、ストア(operator =)の順
func (a++, a, a); //aの値のロード、後ろ2つの引数のpush、a++、最初の引数のpushの順

で、ひとつの式で2回左辺値参照を取ると警告

a = a++; //=と++の両方が左辺値参照を要求するので警告

とかだろうか……
二つ目の例は>>143の意図と逆だけど、operator=で左辺は後から評価したいだろうから
C++14/C++1z 20
148 :名無しさん@そうだ選挙に行こう[sage]:2014/12/13(土) 17:22:33.54 ID:UaeG+OzW
>>146
CERT(やMISRA他)ルールを守る必要がある気はしないが……
operator+の呼び出し順が未規定だからってfunc(a + 1, b + 1);にも警告出されても困るだろう

でも、式だのなんだの適当に書かずに「副作用完了点」は意識するべきだったと反省。そこはありがとう
C++14/C++1z 20
151 :名無しさん@そうだ選挙に行こう[sage]:2014/12/13(土) 18:37:44.24 ID:UaeG+OzW
>>150
C++には演算子オーバーロードという機能があってな……


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。