Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

เหตุใดจึงใช้ sizeof () เป็นโอเปอเรเตอร์ใน C ++


sizeof ไม่ใช่ตัวดำเนินการจริงใน C++ มันเป็นเพียงรูปแบบพิเศษที่แทรกต่อเนื่องเท่ากับขนาดของอาร์กิวเมนต์ 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