sizeof không phải là một toán tử "thực sự" trong C++. Nó chỉ là cú pháp đặc biệt chèn một hằng số bằng kích thước của đối số. sizeof không cần hoặc có bất kỳ hỗ trợ runtime nào. sizeof không thể nạp chồng vì các hoạt động tích hợp sẵn, như tăng con trỏ vào mảng, phụ thuộc ngầm vào nó.
Tiêu chuẩn C quy định sizeof phải được triển khai như một toán tử. Trong hầu hết trình biên dịch, giá trị của sizeof được thay thế bằng một hằng số bằng nó ngay tại thời gian biên dịch.
Ví dụ
#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;
}
Kết quả
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