関数(C++)内などブロック(C++)の中に定義された変数(C++)。
多くは、その生存期間(C++)がブロック(C++)の終わりまで続く。
ただし、staticローカル変数のような例外もある。
通常は、そのブロックの中でのみ使える。
デフォルトでリンケージを持たない。(no linkage)
int add(int x, int y)
{
int z{ x + y };
return z;
} // zの生存期間はここまでネストされたスコープでは、内側のスコープから外側の名前を参照できるが、逆はできない。
リンケージの話の例:
int main()
{
int x { 2 }; // local variable, no linkage
{
int x { 3 }; // 先のx別
}
return 0;
}