কম্পিউটার

C++ ব্যবহার করে অপারেটরের আকারের ফলাফল


সাইজঅফ অপারেটর হল সি ভাষায় সবচেয়ে বেশি ব্যবহৃত অপারেটরগুলির মধ্যে একটি যা আমরা যেকোন ডেটা স্ট্রাকচার বা ডেটা টাইপের আকার গণনা করতে ব্যবহার করি যা আমরা এটির মধ্য দিয়ে যাই। সাইজঅফ অপারেটর স্বাক্ষরবিহীন পূর্ণসংখ্যার ধরন প্রদান করে এবং এই অপারেটরটি আদিম এবং যৌগিক ডেটা প্রকারে প্রয়োগ করা যেতে পারে। আমরা সাইজফ অপারেটর সরাসরি ডাটা টাইপ ব্যবহার করতে পারি এবং এটি যে মেমরি গ্রহণ করছে তা জানতে পারি −

উদাহরণ

#include <bits/stdc++.h>
using namespace std;

int main() {
   cout << sizeof(int) << "\n";
   cout << sizeof(char) << "\n";
   cout << sizeof(float) << "\n";
   cout << sizeof(long) << "\n";
   return 0;
}

আউটপুট

4
1
4
8
8

এই কার্যকারিতা ব্যবহার করে, আমরা জানতে পারি যে এই ডেটা টাইপের যে কোনও ভেরিয়েবল কত জায়গা নেয়। আউটপুটও কম্পাইলারের উপর নির্ভর করে কারণ একটি 16_বিট কম্পাইলার 32_বিট কম্পাইলারের চেয়ে int-এর জন্য আলাদা মান দেবে।

আমরা এই ক্রিয়াকলাপটি একটি অভিব্যক্তিতে প্রয়োগ করতে পারি -

উদাহরণ

#include <bits/stdc++.h>
using namespace std;

int main() {
   cout << sizeof(int) << "\n";
   cout << sizeof(char) << "\n";
   cout << sizeof(float) << "\n";
   cout << sizeof(double) << "\n";
   cout << sizeof(long) << "\n";
   return 0;
}

আউটপুট

4
4

আপনি দেখতে পাচ্ছেন, x এর আগের মান ছিল চার, এবং প্রিফিক্স অপারেশনের পরেও এটি একই থাকে। এটি সবই অপারেটরের আকারের কারণে কারণ এই অপারেটরটি কম্পাইল-টাইম ব্যবহার করা হয়, তাই এটি আমাদের প্রয়োগ করা অভিব্যক্তির মান পরিবর্তন করে না।

অপারেটরের আকারের প্রয়োজনীয়তা

সাইজঅফ অপারেটরের বিভিন্ন ব্যবহার রয়েছে। তবুও, এটি মূলত একটি যৌগিক ডেটা টাইপ আকার নির্ধারণ করতে ব্যবহৃত হয় যেমন একটি অ্যারে, গঠন, ইউনিয়ন, ইত্যাদি।

উদাহরণ

#include <bits/stdc++.h>

using namespace std;

int main() {
   int arr[] = {1, 2, 3, 4, 5}; // the given array

   int size = sizeof(arr) / sizeof(int); // calculating the size of array

   cout << size << "\n"; // outputting the size of given array
}

আউটপুট

5

এখানে প্রথমত, আমরা পুরো অ্যারের আকার গণনা করি বা এটি যে মেমরিটি গ্রহণ করছে তা গণনা করি। তারপরে আমরা সেই সংখ্যাটিকে ডেটা টাইপের আকার দিয়ে ভাগ করি; এই প্রোগ্রামে, এটা int.

এই অপারেটরের জন্য দ্বিতীয় সবচেয়ে গুরুত্বপূর্ণ ব্যবহারের ক্ষেত্রে একটি ডায়নামিক মেমরি বরাদ্দ করা হয়, তাই স্থান বরাদ্দ করার সময় আমরা সাইজফ অপারেটর ব্যবহার করি।

উদাহরণ

#include <bits/stdc++.h>

using namespace std;

int main() {
   int* ptr = (int*)malloc(10 * sizeof(int)); // here we allot a memory of 40 bytes
   // the sizeof(int) is 4 and we are allocating 10 blocks
   // i.e. 40 bytes
}

উপসংহার

এই নিবন্ধে, আমরা সাইজঅফ অপারেটরের ব্যবহার এবং এটি কীভাবে কাজ করে তা নিয়ে আলোচনা করছি। আমরা আউটপুট দেখতে এবং আলোচনা করার জন্য এর ব্যবহারের ক্ষেত্রে বিভিন্ন ধরণের কোড করেছি। আমরা C++ এ এই অপারেটরের ব্যবহারের ক্ষেত্রে প্রয়োগ করেছি। আমরা একই প্রোগ্রাম অন্যান্য ভাষায় লিখতে পারি যেমন C, Java, Python, ইত্যাদি। আমরা আশা করি এই নিবন্ধটি আপনার কাজে লাগবে।


  1. C++ এ ওভারলোডিং ইউনারি অপারেটর?

  2. সাইজফ() কেন সি++ এ অপারেটর হিসেবে প্রয়োগ করা হয়?

  3. C++ এ অপারেটরের সাইজ কি?

  4. C++ এ ইউনারি অপারেটর