সি++-তে ক্যারেক্টার কনস্ট্যান্টের আকার হলো char। সি-তে ক্যারেক্টার কনস্ট্যান্টের টাইপ হলো ইন্টিজার (int)। তাই সি-তে ৩২-বিট আর্কিটেকচারে sizeof('a') হলো ৪, এবং CHAR_BIT হলো ৮। কিন্তু sizeof(char) সি এবং সি++-এ দুটোই এক বাইট।
উদাহরণ (সি)
#include <stdio.h>
main() {
printf("%d", sizeof('a'));
}
আউটপুট
4
উদাহরণ (সি++)
#include <iostream>
using namespace std;
main() {
cout << sizeof('a');
}
আউটপুট
1
দুই কেসেই আমরা একই কাজ করছি। কিন্তু সি-তে sizeof('a') ৪ রিটার্ন করে কারণ এটি ইন্টিজার হিসেবে বিবেচিত হয়। কিন্তু সি++-এ এটি ১ রিটার্ন করে। এটি ক্যারেক্টার হিসেবে বিবেচিত হয়।