アカウント名:
パスワード:
動作の違うものを比較しても意味がない
用途も違いますからな。ただどちらかが軽いなら軽い方をつかうべきではある。個人的にはよほどリソースが逼迫しているか顧客からの要求が厳しくない限りはパフォーマンス上有利な方よりも処理に適した方を使いたい。
他の人が書いてくれてるけど、前置インクリメントは左辺値を返すけど後置インクリメントはコピーコンストラクタが呼ばれる後置インクリメントでないとだめな場合はこれhttp://blog.livedoor.jp/dormolin/archives/51781198.html [livedoor.jp]
やー、この例は、
it = cl.erase(it);
が一番真っ当な方法だと思いますけどね。少なくとも、
今回はstd::listを例にあげたが、他のSTLコンテナに対しても同じ事ができる。
はstd::vectorには当てはまらないので、明らかな間違い。
> が一番真っ当な方法だと思いますけどね。少なくとも、
真っ当さの例ではない前置演算子ではうまくいかない例である
> はstd::vectorには当てはまらないので、明らかな間違い。
たまたま当てはまらない例をもって万事OKとするのは間違い
そこは否定していません。「前置演算子ではうまくいかない場合」が間違っているのではなく、「後置インクリメント*でも*だめな場合」がある、ということ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
普通のやつらの下を行け -- バッドノウハウ専門家
馬鹿馬鹿しい (スコア:1)
動作の違うものを比較しても意味がない
Re: (スコア:0)
用途も違いますからな。ただどちらかが軽いなら軽い方をつかうべきではある。
個人的にはよほどリソースが逼迫しているか顧客からの要求が厳しくない限りはパフォーマンス上有利な方よりも処理に適した方を使いたい。
Re: (スコア:0)
他の人が書いてくれてるけど、前置インクリメントは左辺値を返すけど後置インクリメントはコピーコンストラクタが呼ばれる
後置インクリメントでないとだめな場合はこれ
http://blog.livedoor.jp/dormolin/archives/51781198.html [livedoor.jp]
Re: (スコア:0)
やー、この例は、
が一番真っ当な方法だと思いますけどね。少なくとも、
はstd::vectorには当てはまらないので、明らかな間違い。
Re: (スコア:0)
> が一番真っ当な方法だと思いますけどね。少なくとも、
真っ当さの例ではない
前置演算子ではうまくいかない例である
> はstd::vectorには当てはまらないので、明らかな間違い。
たまたま当てはまらない例をもって万事OKとするのは間違い
Re:馬鹿馬鹿しい (スコア:0)
そこは否定していません。
「前置演算子ではうまくいかない場合」が間違っているのではなく、「後置インクリメント*でも*だめな場合」がある、ということ。