[過去ログ] 【初心者歓迎】C/C++室 Ver.102【環境依存OK】 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
738(1): デフォルトの名無しさん [] 2018/05/09(水) 17:28:08 ID:bhGLBTeZ(1/5) AAS
ロベールの本に以下のコードがあります。
buf という配列ですが、 for 文の中で宣言されています。
PAGE_HEIGHT 回、配列 buf が作られるのでしょうか?
何か非効率的な気がします。
for (int h = 0; h < PAGE_HEIGHT; ++h) {
unsigned char buf[PAGE_WIDTH];
m_file.read((char*)buf, sizeof buf);
for (int w = 0, size = m_file.gcount(); w < size; ++w) {
printf("%02X ", buf[w]);
}
cout << endl;
}
740(1): デフォルトの名無しさん [] 2018/05/09(水) 17:44:16 ID:bhGLBTeZ(2/5) AAS
>>739
そういうのを分かるようんなるにはどうすればいいのでしょうか?
C++の本だけ読んでいても分からないような気がします。
743: デフォルトの名無しさん [] 2018/05/09(水) 18:27:14 ID:bhGLBTeZ(3/5) AAS
>>742742(1): デフォルトの名無しさん [sage] 2018/05/09(水) 17:52:37 ID:J0gm0Ysv(3/3) AAS
>>740
コードを書いたときに具体的にどんな処理が行われるか
を地道に学んで行くしかない
アセンブラを見てもいいし本で学んでも良いし
時間を測っても良い
C言語の方が簡単なのでC言語にある機能から
ありがとうございました。
745(1): デフォルトの名無しさん [] 2018/05/09(水) 19:12:26 ID:bhGLBTeZ(4/5) AAS
>>744ありがとうございます。
newした場合にはもちろん毎回別の領域が確保されるわけですよね。
文法だけからでは分からないことだと思うので、そのような部分を解説した本が
あればよいのですが。。。
747: デフォルトの名無しさん [] 2018/05/09(水) 20:03:17 ID:bhGLBTeZ(5/5) AAS
>>746746(1): デフォルトの名無しさん [sage] 2018/05/09(水) 19:21:16 ID:sQgpoJ7Q(1) AAS
コンストラクターを起こすようなクラスならアレだけど
基本型はループの外においやらている可能性が高い
まぁ使ってるコンパイラの最適化次第というのはある
文法/規格だけで解決しない自由な部分は
実際に使ってるコンパイラの吐き出すコードをみるなり
実測して違いが出るか確認いてみたり……
初心の「それ無駄だろうという直感」は最適化で瑣末ごとになることが多い?かな?
ありがとうございました。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.034s