為什麼 C++ 中的 sizeof() 被實現為一個運算元?
在 C++ 中,sizeof 不是一個真正的運算子。它僅僅是將等於引數大小的連續內容插入的特殊語法。sizeof 既不想要也不具有任何執行時支援。無法過載 Sizeof,因為內建操作(例如將指標遞增到陣列中)隱式依賴於它。
C 標準規定應將 sizeof 實現為一個運算子。大多數編譯器中,sizeof 的值都會在編譯時被替換為等於它的常數。
示例
#include <iostream>
using namespace std;
int main() {
cout << "Size of char : " << sizeof(char) << endl;
cout << "Size of int : " << sizeof(int) << endl;
cout << "Size of short int : " << sizeof(short int) << endl;
cout << "Size of long int : " << sizeof(long int) << endl;
cout << "Size of float : " << sizeof(float) << endl;
cout << "Size of double : " << sizeof(double) << endl;
cout << "Size of wchar_t : " << sizeof(wchar_t) << endl;
return 0;
}輸出
這將輸出 -
Size of char : 1 Size of int : 4 Size of short int : 2 Size of long int : 4 Size of float : 4 Size of double : 8 Size of wchar_t : 4
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP