トップページ > プログラム > 2015年12月29日 > 6RBxEQHH

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

18 位/212 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000002000000100003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
>>528
C++相談室 part121 [無断転載禁止]©2ch.net

書き込みレス一覧

C++相談室 part121 [無断転載禁止]©2ch.net
528 :デフォルトの名無しさん[sage]:2015/12/29(火) 12:35:54.08 ID:6RBxEQHH
vector<T> l;
for (size_t i = 0; i < l.size(); ++i)
というのをよくやるんですが、size()は毎回評価されちゃうんでしょうか?
今時のコンパイラは賢く定数に置き換えてくれたりしないんでしょうか?
C++相談室 part121 [無断転載禁止]©2ch.net
529 :デフォルトの名無しさん[sage]:2015/12/29(火) 12:38:01.08 ID:6RBxEQHH
あ、constは付けてないと駄目ですよねさすがに
C++相談室 part121 [無断転載禁止]©2ch.net
550 :>>528[sage]:2015/12/29(火) 19:27:40.31 ID:6RBxEQHH
ありがとです
なんか色々調べてもらってすいません

言い忘れましたが、ファイルからデータを読んでvectorにpush_backするつもりです
なので、サイズが定数になることはありえないですよね

せめてforスコープ内でvectorのサイズが変わらないことをコンパイラが判断して
一回目にsize()を呼び出した後はその値をうまくキャッシュみたいに保持してくれたら
嬉しいんですけど、さすがに無理ですかね

まあsize()のコストが気になるケースってそうそうないかな


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