関数(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;
}

参考