以下のクラス Test には、クラス Test のオブジェクトの作成中にインクリメントされる静的変数 count があります。
#include <iostream>
using namespace std;
template <class T> class Test
{
private:
T val;
public:
static int count;
Test()
{
count++;
}
// some other stuff in class
};
template<class T>
int Test<T>::count = 0;
int main()
{
Test<int> a;
Test<int> b;
Test<double> c;
cout << Test<int>::count << endl; // prints 2
cout << Test<double>::count << endl; //prints 1
getchar();
return 0;
}
出力: 2 1
Test と Test の 2 つのインスタンスがあると思います (Test と Test の呼び出し中)。しかし、2つの異なるタイプがあるため、intとdoubleの2つのインスタンスがある理由を知りたいですか?? もしそうなら、異なるデータ型と同じデータ型に対してカウント変数がどのように追跡されていますか?? これは簡単な質問かもしれませんが、その背後にある基本的なプロセスを知りたいだけですか?