「支配」の編集履歴(バックアップ)一覧はこちら
「支配」(2010/08/05 (木) 17:53:47) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
支配(しはい)とは、特定の[[メモリ]]領域を[[名前]]で表現し、その名前で[[アクセス]]できることを言う。
例えば
-[[変数]]の[[宣言]]
-[[構造体]]や[[クラス]]の[[インスタンス]]化
などなど。
また、自動変数とそれを指すポインタがあったとき、このポインタは自動変数に支配されているという。
自動変数による支配は、ポインタそのものの生存期間が長いほど問題になりやすい。
{
int a, *b;
b = &a;
}
上記の場合ではa, *bともに寿命が同じであるため問題は起こりにくいが、
{
int *b;
{
int a;
b = &a;
}
//何らかの処理
}
この場合、aのスコープを抜けたあとに*bを使う可能せは0ではないため、アクセス違反などの問題が発生することがある。
支配(しはい)とは、特定の[[メモリ]]領域を[[名前]]で表現し、その名前で[[アクセス]]できることを言う。
例えば
-[[変数]]の[[宣言]]
-[[構造体]]や[[クラス]]の[[インスタンス]]化
などなど。
また、自動変数とそれを指すポインタがあったとき、このポインタは自動変数に支配されているという。
自動変数による支配は、ポインタそのものの生存期間が長いほど問題になりやすい。
{
int a, *b;
b = &a;
}
上記の場合ではa, *bともに寿命が同じであるため問題は起こりにくいが、
{
int *b;
{
int a;
b = &a;
}
//何らかの処理
}
この場合、aのスコープを抜けたあとに*bを使う可能せは0ではないため、アクセス違反などの問題が発生することがある。