[英]C++ : initialize static member large array
為了在C ++中使用靜態數據成員,我目前有類似的東西:
// HEADER FILE .h
class MyClass {
private :
static double myvariable;
};
// CPP FILE .cpp
double MyClass::myvariable = 0;
但如果現在我有:
// HEADER FILE .h
class MyClass {
private :
static double myarray[1000];
};
我該如何初始化它?
謝謝
與初始化普通數組相同:
double MyClass::myarray[1000] = { 1.1, 2.2, 3.3 };
缺失元素將設置為零。
試試這個,
class MyClass {
private :
static double myarray[1000];
};
double MyClass::myarray[]={11,22};
您可以添加一個非pod靜態成員,該成員將從其構造函數初始化myvariable
如果你願意,這有點像'RIAA-by-proxy'。
謹防靜態初始化Fiasco
為什么不這樣做 - 將數組更改為向量。 使用另一個類是vector的超類,並在其構造函數中初始化數組(vector)。 然后,您可以根據需要將其設置為復雜,並將其視為數組>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.