ফ্যাক্ট
C++-এ খালি ক্লাস (empty class) এর সাইজ কমপক্ষে ১ বাইট হয়। স্ট্যান্ডার্ড অনুযায়ী, কোনো অবজেক্টের সাইজ ০ হতে পারে না, কারণ তাহলে দুটি ভিন্ন অবজেক্ট একই মেমরি ঠিকানায় থাকতে পারত।
উদাহরণ
#include <iostream>
using namespace std;
class MyClass { };
int main() { cout << sizeof(MyClass); }
1
ভিন্ন অবজেক্ট, ভিন্ন ঠিকানা
#include <iostream>
using namespace std;
class MyClass { };
int main() {
MyClass a, b;
if (&a == &b) cout << "Same" << endl;
else cout << "Not same" << endl;
}
Not same
ডাইনামিক অ্যালোকেশনে ও ভিন্ন ঠিকানা
#include <iostream>
using namespace std;
class MyClass { };
int main() {
MyClass *a = new MyClass();
MyClass *b = new MyClass();
if (a == b) cout << "Same" << endl;
else cout << "Not same" << endl;
}
Not same
নिष्कর্ষ
খালি ক্লাসেও কমপক্ষে ১ বাইট মেমরি আশ্রয় করে যাতে প্রতিটি অবজেক্টের অনন্য ঠিকানা থাকে।