C++ staticについて質問です

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
kinder
記事: 11
登録日時: 12年前
住所: 大阪

C++ staticについて質問です

#1

投稿記事 by kinder » 12年前

クラスaとクラスbの両方でstatic int aという変数を用意した場合、クラスaの変数aとクラスbの変数aは常に同じ値になる・・・という解釈で良いのでしょうか・・。よくわからないので、できればわかりやすく解説いただけたら嬉しいです。
KINDER

YuO
記事: 947
登録日時: 14年前
住所: 東京都世田谷区

Re: C++ staticについて質問です

#2

投稿記事 by YuO » 12年前

なりません。というか,クラスaでメンバ名にaという名前は使えません。

コード:

class A
{
    static int a;
};
class B
{
    static int a;
};
int A::a;
int B::a;
について,A::aとB::aは完全に別物です。
クラスはスコープを作ります。
異なるスコープ内であれば,見た目上同一の識別子であっても,実際には異なる識別子になります。
この点で言えば,

コード:

{
    int a;
}
{
    int a;
}
のふたつのaが別の識別子であり,別の変数であることと同じです。

kinder
記事: 11
登録日時: 12年前
住所: 大阪

Re: C++ staticについて質問です

#3

投稿記事 by kinder » 12年前

まったくの別物なのですね・・。
ありがとうございました!
KINDER

閉鎖

“C言語何でも質問掲示板” へ戻る