[ベース] C ++:スコープの名前

各スペースは、独自の名前を持ち、異なるスコープで同じ名前が異なるエンティティを指すことがあります。

  • スコープ:{}は、通常分離されています。

  • 有効面積は、宣言が完了している最後に文の名前の名で始まりました。

#include<iostream>
using namespace std;
int main() { int i = 10; for (int j = 0;j <= 10;j++) { } } 
  • 主なブレースは、グローバルスコープ(グローバルスコープ)で、前に定義されました。
  • 私は最初から私はそれにアクセスすることができ、メイン関数の最後まで、主な機能の範囲内で定義されていますが、主な機能は、訪問することができません。
  • forループでjは、forループJにアクセスすることはできません。

ネストされたスコープ

  • スコープと呼ば含まれています内层作用域(inner scope)

  • 呼ばれる他のスコープのスコープが含まれています外部作用域(outer scope)

  • 内部スコープを許可すると、既存の外側のスコープ名を再定義します。

#include<iostream>
using namespace std;
int a = 10; int main() { cout << a << endl; // (1)输出10 int a = 0; cout << a << endl; // (2)输出0 cout << ::a << endl; // (3)输出10 system("pause"); return 0; } 
  • (1)出力10、グローバルドメインで定義されています。
  • (2)出力は、ローカル変数、再定義された範囲の、出力電流の再定義の後に起こります。
  • (3)によって定義されたグローバルスコープの出力(範囲は空のままにされ、要求は、グローバルスコープを発生します)。

転送浮遊マーモットブログ、元のリンクします。https://www.jianshu.com/p/b768a90568b4

おすすめ

転載: www.cnblogs.com/damaohai/p/11497214.html