কম্পিউটার

C++ এ কাস্টিং অপারেটর টাইপ করুন


একটি কাস্ট একটি বিশেষ অপারেটর যা একটি ডেটা টাইপকে অন্যটিতে রূপান্তর করতে বাধ্য করে। একজন অপারেটর হিসাবে, acast হল unary এবং অন্য যেকোনো unary অপারেটরের মতই একই অগ্রাধিকার রয়েছে৷

বেশিরভাগ C++ কম্পাইলার দ্বারা সমর্থিত সর্বাধিক সাধারণ কাস্ট নিম্নরূপ

(type) expression

যেখানে টাইপ কাঙ্খিত ডেটা টাইপ। C++ দ্বারা সমর্থিত অন্যান্য কাস্টিং অপারেটর রয়েছে, সেগুলি নীচে তালিকাভুক্ত করা হয়েছে -

  • ? const_cast (expr) const_cast অপারেটরটি একটি কাস্টে স্পষ্টভাবে const এবং/অথবা উদ্বায়ীকে ওভাররাইড করতে ব্যবহৃত হয়। টার্গেট টাইপ অবশ্যই সোর্স টাইপের মতই হতে হবে, এর কনস্ট বা উদ্বায়ী বৈশিষ্ট্যের পরিবর্তন ছাড়া। এই ধরনের কাস্টিং পাস করা অবজেক্টের কন্সট অ্যাট্রিবিউটকে হেরফের করে, হয় সেট করা বা অপসারণ করা।

  • ? dynamic_cast (expr) ডাইনামিক_কাস্ট একটি রানটাইম কাস্ট করে যা কাস্টের বৈধতা যাচাই করে। যদি কাস্ট করা না যায়, কাস্ট ব্যর্থ হয় এবং অভিব্যক্তিটি শূন্য হয়ে যায়। একটি ডাইনামিক_কাস্ট পলিমরফিক প্রকারের উপর কাস্ট করে এবং একটি A* পয়েন্টারকে B* পয়েন্টারে কাস্ট করতে পারে শুধুমাত্র যদি বস্তুটি প্রকৃতপক্ষে একটি B অবজেক্ট হয়।

  • ? reinterpret_cast (expr) reinterpret_cast অপারেটর একটি পয়েন্টারকে অন্য যেকোনো ধরনের পয়েন্টারে পরিবর্তন করে। এটি পয়েন্টার থেকে একটি পূর্ণসংখ্যা টাইপ এবং তদ্বিপরীতভাবে কাস্ট করার অনুমতি দেয়৷

  • ? static_cast (expr) স্ট্যাটিক_কাস্ট অপারেটর একটি ননপলিমরফিক কাস্ট সম্পাদন করে। উদাহরণস্বরূপ, এটি একটি বেস ক্লাস পয়েন্টারকে একটি প্রাপ্ত ক্লাস পয়েন্টারে কাস্ট করতে ব্যবহার করা যেতে পারে।

ক্লাস এবং অবজেক্টের সাথে কাজ করার সময় উপরে উল্লিখিত সমস্ত কাস্টিং অপারেটর ব্যবহার করা হবে৷ আপাতত, C++ এ উপলব্ধ একটি সাধারণ কাস্ট অপারেটর বোঝার জন্য নিম্নলিখিত উদাহরণটি চেষ্টা করুন৷ test.cpp ফাইলে নিম্নলিখিত C++ প্রোগ্রামটি অনুলিপি করুন এবং পেস্ট করুন এবং এই প্রোগ্রামটি কম্পাইল করুন এবং চালান।

উদাহরণ কোড

#include <iostream>
using namespace std;
main() {
   double a = 21.09399;
   float b = 10.20;
   int c ;
   c = (int) a;
   cout << "Line 1 - Value of (int)a is :" << c << endl ;
   c = (int) b;
   cout << "Line 2 - Value of (int)b is :" << c << endl ;
   return 0;
}

আউটপুট

Line 1 - Value of (int)a is :21
Line 2 - Value of (int)b is :10

  1. C/C++ এ টাইপ কাস্ট কি?

  2. C++ এ বিটওয়াইজ অপারেটর

  3. C++ এ রিলেশনাল অপারেটর

  4. C++ এ পাটিগণিত অপারেটর