C++の非staticなconstなメンバー配列を初期化する方法
constなメンバーなので初期化リストで初期化せざるを得ない。C++11より前だとできないのだろうか。C++11なら統一的な初期化構文を使えばできる。
class foo { int a[3]; public: foo(): a{ 0, 1, 2 } {} };
初期値が定数じゃない場合は、こんな感じ?
class foo { int a[3]; static int init(int n) { ... } public: foo(): a{ init(0), init(1), init(2) } {} };
配列をまとめて初期化することはできないだろうか。できるなら、initはどういう型になるんだろう?
class foo { int a[3]; static ??? init() { ... } public: foo(): a(init())) {} };
わかったらまた書きます。今日はできないこととわからないことだけでした。