考慮:sizeof(value)vs sizeof(type)?
double data;
double array[10];
std::vector<int> vec(4, 100);
MyClass myclass;
有沒有之間的差異:
sizeof(double);
sizeof(double[10]);
sizeof(std::vector<int>);
sizeof(MyClass);
和
sizeof(data);
sizeof(array);
sizeof(vec);
sizeof(myclass);
是兩種語法不同或完全等同?他們是否都在編譯時進行評估?如果不是,哪一個在運行時被評估?
類型的大小在運行時不能改變。 'sizeof'總是在編譯時產生它的值。 – Xeo
你試過了嗎? –
因爲你在問C++,所以不太相關;但是,就我所知,'sizeof'在運行時唯一的時間是在C中,可變長度數組。但是這些在C++中是不合法的,儘管它們可以用GCC作爲擴展。 –