在C/C++中,如何確定成員變量的大小而不需要定義該結構類型的虛擬變量?下面是如何做到這一點錯了一個例子,但說明的意圖:什麼是常見的C/C++宏來確定結構成員的大小?
typedef struct myStruct {
int x[10];
int y;
} myStruct_t;
const size_t sizeof_MyStruct_x = sizeof(myStruct_t.x); // error
供參考,這應該是如何找到的「X」的大小,如果你先定義一個虛擬變量:
myStruct_t dummyStructVar;
const size_t sizeof_MyStruct_x = sizeof(dummyStructVar.x);
但是,我希望避免必須創建一個虛擬變量來獲得'x'的大小。我認爲有一種巧妙的方式來重新設置0作爲myStruct_t來幫助查找成員變量'x'的大小,但是已經足夠長,我忘記了詳細信息,並且似乎無法在此上獲得良好的Google搜索。你知道嗎?
謝謝!
酷!這在C++中適用於我。在C中有沒有辦法做到這一點? – 2009-09-09 16:24:29
和C呢?我不需要這個,但我真的很想知道:-) – p4bl0 2009-09-09 16:24:47
+1不使用宏並增加了混淆。 – Kredns 2009-09-09 17:45:29