タグ

ブックマーク / izmiz.hateblo.jp (1)

  • staticなメンバ変数を正しく初期化する - 自習室

    クラスを定義して、.hと.cpp のファイルに分割する際にこれまでも何度か同じような引っかかり方をしてきた気がするのでメモ。 /*test.h*/ class test{ static int my_intarray[10]; //ここがまずい public: static void func(); }; /*test.cpp*/ #include "test.h" void test::func(){ test::my_intarray[0] = 1; } int main(){ test::func(); return 0; } /*以下略*/ のように、.h ファイルの中で具体的な領域の確保はできない。というか、「確保」という言い方自体がおかしい。なぜなら、上記の.h ファイルの中身はクラスの「定義」なのであって、インスタンスはmain中なりどっか別の場所で作られ、その際に初めてメン

    staticなメンバ変数を正しく初期化する - 自習室
  • 1