簡體   English   中英

C ++:初始化靜態成員大數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM