- C++相談室 part120 [転載禁止]©2ch.net
301 :デフォルトの名無しさん[sage]:2015/11/01(日) 00:03:20.13 ID:eOjFevzb - >>300
お前196か207? そうじゃなかったら他人の事よくわかるね
|
- C++相談室 part120 [転載禁止]©2ch.net
303 :デフォルトの名無しさん[sage]:2015/11/01(日) 00:20:37.22 ID:eOjFevzb - >>302
自分で掘り下げてるじゃん?
|
- C++相談室 part120 [転載禁止]©2ch.net
327 :デフォルトの名無しさん[sage]:2015/11/01(日) 12:53:36.23 ID:eOjFevzb - >>325
それはx86向けの頭にVがつく特定のコンパイラの中だけの話 ttp://d.hatena.ne.jp/Cryolite/touch/20101228#20101228f4 この記事とその前の記事で詳しく解説されてるから詳しくない奴は読め とりあえず325は絶対読め
|
- C++相談室 part120 [転載禁止]©2ch.net
333 :デフォルトの名無しさん[sage]:2015/11/01(日) 14:24:53.41 ID:eOjFevzb - >>331
それは未定義動作だからコンパイラによって関数呼び出し自体削除されても文句言えない よって出来るとは言わない そもそもconst_cast自体がコンパイラへconst外してと教えてるだけのもの 教えてるのにコンパイラにバレないように外せるとか何言ってんだか
|
- C++相談室 part120 [転載禁止]©2ch.net
336 :デフォルトの名無しさん[sage]:2015/11/01(日) 14:33:37.96 ID:eOjFevzb - >>334
最小の再現するコードをideoneとかcodepadに張れ その過程で解決して張るまでもなくなるだろうけどな
|
- C++相談室 part120 [転載禁止]©2ch.net
342 :デフォルトの名無しさん[sage]:2015/11/01(日) 14:57:16.21 ID:eOjFevzb - >>340
じゃあ次はそれが328へのレスとして妥当であるかどうかを考えましょうね
|
- C++相談室 part120 [転載禁止]©2ch.net
345 :デフォルトの名無しさん[sage]:2015/11/01(日) 15:39:39.56 ID:eOjFevzb - >>344
fooだけ見たら正当なコードだろう。 fooの呼び出しが最適化で削除されないというのは関数を跨いでの最適化は行われないという前提での話 あなたの提示したコードは簡単にinlineに展開されうるし別の翻訳単位に移したとしても将来にわたってリンク時の最適化が行われない保証もない その場限りの使い捨てコードしか書かないと決めてるのでなければ言いすぎじゃないんだよ。 あなたはそう決めてるのかもしれないけど、それを周りにまき散らすのは止めてくれ。
|
- C++相談室 part120 [転載禁止]©2ch.net
352 :デフォルトの名無しさん[sage]:2015/11/01(日) 23:23:48.76 ID:eOjFevzb - >>349
そうだな>>331元のコードをちゃんと見たら >>345 は誤りだった fooだけ見たら正当とか自分が恥ずかしい。 正解はfoo関数自体が未定義動作だからfooを呼び出した時点でコンパイラになにされても文句言えない http://blogs.msdn.com/b/oldnewthing/archive/2014/06/27/10537746.aspx これを読め 読めなかったら日本語訳してくれてる人が居るからその記事読め
|
- C++相談室 part120 [転載禁止]©2ch.net
353 :デフォルトの名無しさん[sage]:2015/11/01(日) 23:52:28.20 ID:eOjFevzb - ついでに言うとかなり前からgccもmsvcもclangもリンク時最適化出来る
未定義動作を最適化する事によって何もしなくなった関数の呼び出しを削除するぐらい簡単だろうよ
|