■ このスレッドは過去ログ倉庫に格納されています
【IT】会社員の「プログラミング教室」通い、本当に意味があるんですか?
- 367 :名刺は切らしておりまして:2020/03/02(月) 18:53:18 ID:pkWBme/g.net
- >>366
それくらい誰でも知ってる(教科書にも書いてある)。
それを前提に、
前置インクリメントでは
0) 値を読み出す
1) 値を0で読んだ値をインクリメントしたものに書き換える
2) 値を返す
後置インクリメントでは
0) 値を読み出す
1) 現在の値を保持するためにコピーをとる
2) 値を0で読んだ値をインクリメントしたものに置き換える
3) 1で保持した値を返す
というように一度コピーを取らないといけないので
前置インクリメントの方が速いよってのがC++でよくある話。
さらにそれを前提に、
後置インクリメントでは 3で返す値は0で読みだした値をそのまま返せばいいけど、
前置インクリメントでは 2で返す値は0で読みだした値とは異なっているのでCPUのパイプラインがストールする。
だからコピーコストがほとんどかからない配列インデックスなどは後置インクリメントの方が速いかもしれないよ。
ってのがCPUに極限まで処理を詰め込みたい人が考慮する話。
総レス数 487
122 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200