ধরুন আমাদের C++ এ একটি খালি ক্লাস আছে। এখন এর সাইজ 0 কি না তা পরীক্ষা করা যাক। প্রকৃতপক্ষে, মান 0 আকারের বস্তুর (বা ক্লাস) অনুমতি দেয় না, কারণ এটি দুটি স্বতন্ত্র বস্তুর জন্য একই মেমরি অবস্থান থাকা সম্ভব করে তোলে। এই ধারণার পিছনের কারণ হল যে এমনকি একটি খালি ক্লাসের একটি সাইজ কমপক্ষে 1 থাকতে হবে। এটি জানা যায় যে একটি খালি ক্লাসের আকার শূন্য নয়। সাধারণত, এটি 1 বাইট। নিচের উদাহরণটি দেখুন।
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
#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
গতিশীল বরাদ্দের জন্যও, নতুন কীওয়ার্ড একই কারণে ভিন্ন ঠিকানা প্রদান করে।
উদাহরণ (C++)
#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