是否可以初始化靜態常量空數組,請參見下面的代碼,初始化靜態常量空數組
//CFoo.h
class CFoo
{
public:
CFoo();
~CFoo();
public:
static const int arr[];
};
//CFoo.cpp
const int arr[] = {0,1,2};
CFoo::CFoo(){}
CFoo::~CFoo(){}
編輯:
看來碼是有效的,而對於後續問題,爲什麼我不能sizeof靜態const數組,如:
sizeof(CFoo::arr);
有沒有什麼辦法可以sizeof CFoo :: arr?
謝謝。
謝謝,但是有可能使用sizeof(CFoo :: arr)?有什麼方法可以sizeof CFoo :: ARR或找到它的大小? – domlao 2010-11-04 06:24:16
令人討厭,但對於經常更改此類值的長列表的特定位置,您可以定義VALUES {0,1,2} \ const int CFoo :: arr [] = VALUES; static const int check_cfoo_arr_size [] = VALUES;'和static斷言:sizeof CFoo :: arr == sizeof check_cfoo_arr_size' ... :-(。 – 2010-11-04 06:41:59