ページ 1 / 1
C++ staticについて質問です
Posted: 2013年5月22日(水) 19:51
by kinder
クラスaとクラスbの両方でstatic int aという変数を用意した場合、クラスaの変数aとクラスbの変数aは常に同じ値になる・・・という解釈で良いのでしょうか・・。よくわからないので、できればわかりやすく解説いただけたら嬉しいです。
Re: C++ staticについて質問です
Posted: 2013年5月22日(水) 20:52
by YuO
なりません。というか,クラス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が別の識別子であり,別の変数であることと同じです。
Re: C++ staticについて質問です
Posted: 2013年5月22日(水) 21:51
by kinder
まったくの別物なのですね・・。
ありがとうございました!