C/C++のこの機能逝ってよし
■ このスレッドは過去ログ倉庫に格納されています
0269デフォルトの名無しさん
NGNG(1) ローカル変数に対して static を使うと
その関数を抜けても値が保持されたままの変数になる
(関数内からだけ参照できるグローバル変数みたいな感じ)
(2) グローバル変数および関数に static を使うと
そのファイル内からだけ参照できる変数になる
(3) クラスのメンバに対して static を使うと
いわゆるクラスメンバというやつになる
(インスタンス名.XXX じゃなくて、 クラス名::XXX で参照するやつ)
特にややこしいのが、
// aaa.h
class AAA
{
public:
static int a; // (3) の意味の static
};
// aaa.cpp
#include"aaa.h"
static int AAA::a = 0; // (2) の意味の static
//↑ こいつに static を付けると変なことになる
// クラスの public 変数なのに、aaa.cpp の内部でしか使えないから。
■ このスレッドは過去ログ倉庫に格納されています