সি ++ এ কীভাবে সেরা রূপান্তরকরণের ধরণের রূপান্তর করবেন?

এই নিবন্ধটি আপনাকে C ++ এ রূপান্তর টাইপ করার সাথে পরিচয় করিয়ে দেবে এবং এটির জন্য একটি বিশদ প্রোগ্রামযুক্ত বিক্ষোভের সাথে এটি অনুসরণ করবে।

এই নিবন্ধটি আপনাকে আরও একটি আকর্ষণীয় বিষয়ের সাথে পরিচয় করিয়ে দেবে যা রূপান্তর টাইপ করুন সি ++ এবং বিশদ ব্যবহারিক বিক্ষোভের সাথে এটি অনুসরণ করুন। নিম্নলিখিত পয়েন্টারগুলি এই নিবন্ধে কভার করা হবে,



সুতরাং আমাদের এখন শুরু করা যাক,



সি ++ এ রূপান্তর টাইপ করুন

প্রকার রূপান্তর বলতে এক ধরণের থেকে অন্য ধরণের রূপান্তর বোঝায়। প্রকার রূপান্তরকরণের মূল ধারণাটি হ'ল অপারেশন সম্পাদনের জন্য এক ধরণের ভেরিয়েবলকে অন্য ধরণের ভেরিয়েবলের সাথে সামঞ্জস্য করা। উদাহরণস্বরূপ, দুটি ভেরিয়েবলের যোগফল খুঁজতে, একটি প্রকার টাইপ এবং অন্য ভাসমান প্রকারের। সুতরাং, যোগফলের জন্য উভয়কেই ভাসমান প্রকারের জন্য আপনার ভাসা ভাসানোর জন্য কাস্ট ইন্ট ভেরিয়েবল টাইপ করতে হবে। এই ব্লগে আমরা শিখব কীভাবে সি ++ তে টাইপ রূপান্তর করা যায়।

দশমিক জাভা কোড বাইনারি

সি ++ তে দুই ধরণের ধরণের রূপান্তর রয়েছে imp যেমন অন্তর্ভুক্ত ধরণের রূপান্তর এবং সুস্পষ্ট ধরণের রূপান্তর।



অন্তর্নিহিত প্রকার রূপান্তর

অন্তর্নিহিত ধরণের রূপান্তর বা স্বয়ংক্রিয় টাইপ রূপান্তরকরণটি নিজস্ব সংকলক দ্বারা সম্পন্ন হয়। ভেরিয়েবলকে এক প্রকার থেকে অন্য প্রকারে টাইপকাস্ট করার জন্য কোনও বাহ্যিক ট্রিগার প্রয়োজন হয় না।

এটি ঘটে যখন কোনও এক্সপ্রেশনটিতে একাধিক প্রকারের ভেরিয়েবল থাকে। সুতরাং, সেই পরিস্থিতিতে ডেটা ক্ষতি এড়াতে স্বয়ংক্রিয় ধরণের রূপান্তর ঘটে।স্বয়ংক্রিয় প্রকারের রূপান্তরগুলিতে, এক্সপ্রেশনটিতে উপস্থিত সমস্ত ডেটা ধরণের বৃহত্তম ডেটা প্রকারের সাথে ভেরিয়েবলের ডেটা ধরণে রূপান্তরিত হয়।

নীচে স্বয়ংক্রিয় ধরণের রূপান্তরটির ক্রম রয়েছে। আপনি এটিও বলতে পারেন, রূপান্তরকরণের জন্য সবচেয়ে ছোট থেকে বৃহত্তম ডেটা টাইপ।



বুল -> চর -> শর্ট ইনট -> ইনট -> স্বাক্ষরবিহীন ইনট -> লং -> স্বাক্ষরবিহীন -> দীর্ঘ দীর্ঘ -> ভাসা -> ডাবল -> দীর্ঘ ডাবল

অন্তর্নিহিত রূপান্তরগুলি তথ্য হারাতে পারে যেমন স্বাক্ষরযুক্ত প্রকারটি স্বাক্ষরযুক্ত স্বাক্ষরিত প্রকারে রূপান্তরিত করা হলে লক্ষণগুলি হারিয়ে যেতে পারে এবং দীর্ঘকাল স্পষ্টভাবে ফ্লোটে রূপান্তরিত হলে ওভারফ্লো হতে পারে।

সি ++ এ অন্তর্নিহিত ধরণের রূপান্তর কীভাবে কাজ করে তা বোঝার জন্য এখন একটি উদাহরণ দেখি।

উদাহরণ

# নেমস্পেসের সাথে এসটিডি ইন্ট মেইন () 12 ডাব্লু {ইন্টি ইনট 1 = 100 // ইন্টিজার ইন্ট 1 চর চার1 = 'সি' // ক্যারেক্টার চার্ট // চর 1 স্পষ্টতই 'সি' এর ASCII মান ব্যবহার করে ইন্টিমেটেড রূপান্তরিত করা হয়েছে অর্থাৎ 99 ইনট 1 = ইনট 1 + চার1 // ইন্ট 1 স্পষ্টভাবে ফ্লোট ফ্লোট ফ্ল্যাট 1 = ইনট 1 + 2.7 কাউটে রূপান্তরিত হয়<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

আউটপুট

int1 = 199

চর 1 = গ

flt1 = 201.7

এই ধরণের রূপান্তর পরবর্তী সি ++ নিবন্ধে,

সুস্পষ্ট ধরণের রূপান্তর

সুস্পষ্ট ধরণের রূপান্তর বা প্রকারের ingালাই হ'ল ব্যবহারকারীর সংজ্ঞায়িত ধরণের রূপান্তর। সুস্পষ্ট ধরণের রূপান্তরকরণে, ব্যবহারকারী এক প্রকারের ভেরিয়েবলকে অন্য ধরণের রূপান্তর করে। সুস্পষ্ট ধরণের রূপান্তরটি সি ++ এ দুটি উপায়ে করা যেতে পারে:

জাভাতে কীভাবে সিঙ্গলটন ক্লাস তৈরি করা যায়
  • কার্যক্রমে রূপান্তর করা
  • কাস্ট অপারেটর ব্যবহার করে রূপান্তর

এখন স্পষ্টভাবে টাইপ করা টাইপের এক প্রকারের অন্য ধরণের প্রতিটি পদ্ধতির দিকে নজর দেওয়া যাক।

কার্যক্রমে রূপান্তর করা

এই ধরণের রূপান্তরটিতে প্রয়োজনীয় টাইপটি স্পষ্টভাবে সংশ্লেষে এক্সপ্রেশনের সামনে সংশ্লেষিত হয়। স্পষ্টত ধরণের কাস্টিংয়ে ডেটা ক্ষতি হয়। এটি জোরপূর্বক castালাই হিসাবে বিবেচিত হয়। একটি উদাহরণ তাকান।

উদাহরণ

জাভা একটি উদাহরণ পরিবর্তনশীল কি
# নেমস্পেস ব্যবহার করে স্ট্যান্ড ইন্ট মেইন () {ডাবল ডিবিএল 1 = 8.9 // ডাবল থেকে ইনট ইন্ট রেস = (ইনট) ডিবিএল 1 + 1 সিউটে স্পষ্ট রূপান্তর<< 'Result = ' << res return 0 }

আউটপুট

ফলাফল = 9

এই ধরণের রূপান্তর পরবর্তী সি ++ নিবন্ধে,

কাস্ট অপারেটর ব্যবহার করে রূপান্তর

কাস্ট অপারেটর একটি অ্যানারি অপারেটর যা একটি ডেটা টাইপকে অন্য ডেটা ধরণে রূপান্তর করতে বাধ্য করে। C ++ এ চার ধরণের ingালাই রয়েছে, অর্থাত্ স্ট্যাটিক কাস্ট, ডায়নামিক কাস্ট, কনস্ট কাস্ট এবং পুনরায় ব্যাখ্যা কাস্ট।

  • স্ট্যাটিক কাস্ট - এটি সহজতম ধরণের castালাই যা ব্যবহার করা যেতে পারে। এটি কেবল উপকাস্টই করে না, পাশাপাশি ডাউনকাস্টও করে। এটি একটি সংকলন টাইম কাস্ট। রানটাইম চলাকালীন চেকগুলি সঞ্চালিত হয় না যে গ্যারান্টিটি দেয় যে কোনও বস্তু রূপান্তরিত হচ্ছে গন্তব্য প্রকারের সম্পূর্ণ বস্তু।
  • ডায়নামিক কাস্ট - এটি নিশ্চিত করে যে ধরণের রূপান্তরটির ফলাফল গন্তব্য পয়েন্টার ধরণের বৈধ, সম্পূর্ণ অবজেক্টের দিকে নির্দেশ করে।
  • কনস্ট কাস্ট - ম্যানিপুলেট করে যে অবজেক্টটি ধ্রুবক বা অ-ধ্রুবক হওয়া দরকার। এটি নিশ্চিত করে যে হয় হয় ধ্রুবকটি সেট করা দরকার বা অপসারণ করা উচিত।
  • কাস্ট পুনরায় ব্যাখ্যা - কোনও পয়েন্টার টাইপকে অন্য কোনও পয়েন্টার প্রকারে, এমনকি সম্পর্কিত সম্পর্কযুক্ত শ্রেণিতে রূপান্তর করে। এটি পয়েন্টার দ্বারা নির্দেশিত পয়েন্টার টাইপ এবং ডেটা একই কিনা তা পরীক্ষা করে না।

আসুন স্ট্যাটিক কাস্টের উদাহরণটি দেখুন,

উদাহরণ

# নেমস্পেস ব্যবহার করে স্ট্যান্ড ইন্ট মেইন () {ফ্লোট ফ্লাট = 30.11 // কাস্ট অপারেটর ইনট1 ব্যবহার করে স্ট্যাটিক_কাস্ট (ফ্ল্যাট) কোট< 

আউটপুট

30

এটি আমাদের C ++ তে রূপান্তরকরণের প্রবন্ধের শেষের দিকে নিয়ে আসে।আমি আশা করি আপনি এই তথ্যবহুল এবং সহায়ক খুঁজে পেয়েছেন, অনুরূপ বিষয়ে আরও টিউটোরিয়াল জন্য যোগাযোগ করুন। আপনি আমাদের প্রশিক্ষণ প্রোগ্রাম পরীক্ষা করতে পারেনo jQuery এর বিভিন্ন অ্যাপ্লিকেশন সহ গভীরতর জ্ঞান পান, আপনি পারেন 24/7 সমর্থন এবং আজীবন অ্যাক্সেস সহ লাইভ অনলাইন প্রশিক্ষণের জন্য।

আমাদের জন্য একটি প্রশ্ন আছে? এই নিবন্ধটির মন্তব্য বিভাগে তাদের উল্লেখ করুন এবং আমরা আপনার কাছে ফিরে আসব।