ネスティング
概要 [編集 ]
ネスティングには
制御 構造 - if文 、switch文 、for文 、while文 などを内包 。これによって実際 の処理 を示 す。- データ
構造 -構造 体 、クラス、インタフェースなどを内包 。プログラム内 でのデータの管理 方法 を示 す。 副 プログラム - サブルーチン、プロシージャ、コルーチンなどを内包 。処理 の管理 。名前 空間 -名前 空間 の内部 に別 の名前 空間 を配 する。
制御 構造 におけるネスティング[編集 ]
条件 文 のネスティング[編集 ]
(C
if (条件 式 1){
if (条件 式 2){ // ここの「if」は一番 上 の「if」の入 れ子
if (条件 式 3){ // ここの「if」は一 つ上 の「if」と一番 上 の「if」の入 れ子
処理 1;
}
処理 2;
}
処理 3;
}
ループ文 のネスティング[編集 ]
(C
for (int x = 0; 条件 式 1; x++){
for (int y = 0; 条件 式 2; y++){ //ここの「for」は一番 上 の「for」の入 れ子
for (int z = 0; 条件 式 3; z++){ //ここの「for」は一 つ上 の「for」と一番 上 の「for」の入 れ子
処理 1;
}
処理 2;
}
処理 3;
}
ループ文 と条件 文 が混合 したネスティング[編集 ]
(C
for (int x = 0; 条件 式 1; x++){
for (int y = 0; 条件 式 2; y++){ //ここの「for」は一番 上 の「for」の入 れ子
if (条件 式 3){ //ここの「if」は一 つ上 の「for」と一番 上 の「for」の入 れ子
処理 1;
}
else{
処理 2;
}
}
}
データ構造 におけるネスティング[編集 ]
構造 体 のネスティング[編集 ]
struct Point
{
int x;
int y;
};
struct BitmapImage
{
struct Point size;
unsigned char *image;
};
副 プログラムにおけるネスティング[編集 ]
サブルーチン、プロシージャ、コルーチンにおけるネスティング。
サブルーチンのネスティング[編集 ]
void message(void){
void hello(){ }// ネストされた関数 定義
hello(); //ネストされた関数 の呼 び出 し
}
//ここではhello()は呼 び出 せない
名前 空間 のネスティング[編集 ]
namespace 名前 空間 1{
namespace 名前 空間 2{
int func(){} //名前 空間 1::名前 空間 2::func()のようにアクセスさせることが多 い
}
}