এখানে আমরা C++-তে sizeof এবং alignof অপারেটরের পার্থক্য জানব। alignof() অপারেটর C++11-এ 도입 করা হয়েছে।
alignof() অপারেটর ব্যবহার করা হয় অ্যালাইনমেন্ট বাইটে বের করার জন্য। এটি টাইপের ইনস্ট্যান্স আশ্রয় নেয়। টাইপটি হয় কমপ্লিট টাইপ বা রেফারেন্স টাইপ। আরেকটি অপারেটর হলো sizeof(), যা একটি টাইপের সাইজ রিটার্ন করে। সাধারণ ডেটা টাইপের জন্য sizeof এবং alignof একই মান রিটার্ন করে। কিন্তু কিছু ইউজার-ডিফাইনড টাইপের জন্য alignof ভিন্ন মান দেয়। উদাহরণটি দেখে ধারণা নেওয়া যাক।
উদাহরণ
#includeusing namespace std; struct MyStruct{ int x; double y; char z; }; main() { cout << "The sizeof(MyStruct): " << sizeof(MyStruct) << endl; cout << "The alignof(MyStruct): " << alignof(MyStruct) << endl; }
আউটপুট
The sizeof(MyStruct): 24 The alignof(MyStruct): 8