トップページ > プログラム > 2015年07月12日 > cli6Wler

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

23 位/163 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000100010000000002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【初心者歓迎】C/C++室 Ver.94【環境依存OK】©2ch.net

書き込みレス一覧

【初心者歓迎】C/C++室 Ver.94【環境依存OK】©2ch.net
701 :デフォルトの名無しさん[sage]:2015/07/12(日) 10:20:43.33 ID:cli6Wler
質問なんですが、
{
 {
  int i = 5;
 }
 i = 0; // エラー.iはもう存在しない
}
のように、他のスコープでは存在したが現在見ているスコープからは見えない変数って、完全に消滅(該当のスタックメモリに再利用可の印をつけ、名前テーブルから削除)しているんでしょうか?
それとも名前テーブルから削除されるだけなんでしょうか?
【初心者歓迎】C/C++室 Ver.94【環境依存OK】©2ch.net
705 :デフォルトの名無しさん[sage]:2015/07/12(日) 14:32:34.21 ID:cli6Wler
そうだった、スタックだから単純にカレントインデックス動かすだけで処理するんだった……
ありがとうございました。

ということは、やっぱりループでのみ使う変数の定義は、ループ内に入れるべきなのかな。
コンパイラ依存でないコード(初めからループの外に定義を追い出す)と、コンパイラの最適化に頼ったコードの比較をしていて気になってました。


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