C++ में sizeof एक वास्तविक ऑपरेटर नहीं है। यह केवल एक विशेष सिंटैक्स है जो अपने आर्गुमेंट के आकार के बराबर एक स्थिरांक डालता है। sizeof को किसी रनटाइम सपोर्ट की आवश्यकता नहीं होती। sizeof को ओवरलोड नहीं किया जा सकता क्योंकि बिल्ट-इन ऑपरेशन, जैसे एक ऐरे में पॉइंटर को इन्क्रीमेंट करना,implicitly इस पर निर्भर करता है।
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