Computer >> Máy Tính >  >> Lập trình >> C ++

Tại sao sizeof () được triển khai như một toán tử trong C ++?


sizeof không phải là toán tử thực trong C ++. Nó chỉ là cú pháp đặc biệt chèn một tiếp diễn bằng với kích thước của đối số. sizeof không muốn hoặc có bất kỳ hỗ trợ thời gian chạy nào. Sizeof không thể được nạp chồng vì các hoạt động tích hợp sẵn, chẳng hạn như tăng một con trỏ vào một mảng phụ thuộc hoàn toàn vào nó.

Tiêu chuẩn C chỉ định rằng sizeof phải được triển khai như một toán tử. Trong hầu hết các trình biên dịch, giá trị của sizeof được thay thế bằng một hằng số bằng nó tại chính 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;
}

Đầu ra

Điều này sẽ đưa ra 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