কম্পিউটার

C++ এ অটো এবং ডিক্লটাইপ কি?


Auto হল C++11 এবং পরবর্তীতে একটি কীওয়ার্ড যা স্বয়ংক্রিয় টাইপ ডিডাকশনের জন্য ব্যবহৃত হয়। টাইপ ইনফারেন্স বা ডিডাকশন বলতে প্রোগ্রামিং ল্যাঙ্গুয়েজে এক্সপ্রেশনের ডেটা টাইপ স্বয়ংক্রিয়ভাবে সনাক্ত করাকে বোঝায়। এটি কিছু দৃঢ়ভাবে স্ট্যাটিকালি টাইপ করা ভাষায় উপস্থিত একটি বৈশিষ্ট্য। উদাহরণস্বরূপ, আপনি একটি ভেক্টরের উপর পুনরাবৃত্তি করার জন্য একটি পুনরাবৃত্তিকারী তৈরি করতে চান, আপনি কেবল সেই উদ্দেশ্যে অটো ব্যবহার করতে পারেন।

উদাহরণ

#include<iostream>
#include<vector>
using namespace std;
int main() {
   vector<int> arr(10);
   for(auto it = arr.begin(); it != arr.end(); it ++) {
      cin >> *it;
   }
   return 0;
}

উপরের প্রোগ্রামে, এটি স্বয়ংক্রিয়ভাবে std::vector::iterator টাইপ পাবে।

ডিক্লটাইপ টাইপ স্পেসিফায়ার একটি নির্দিষ্ট এক্সপ্রেশনের ধরন প্রদান করে। অটোর বিপরীতে যা ভেরিয়েবলে বরাদ্দ করা মানের উপর ভিত্তি করে প্রকারগুলি নির্ণয় করে, ডিক্লটাইপ এটিতে প্রেরিত একটি অভিব্যক্তি থেকে টাইপকে নির্ণয় করে। decltype দ্বারা প্রত্যাবর্তিত মান সরাসরি অন্য পরিবর্তনশীল সংজ্ঞায়িত করতে ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, উপরের কোডটি decltype −

ব্যবহার করে নিম্নলিখিত হিসাবে লেখা যেতে পারে

উদাহরণ

#include <iostream>
#include <vector>
using namespace std;
int main() {
   vector<int> arr(10);
   for (decltype(arr.begin()) it = arr.begin(); it != arr.end(); it++) {
      cin >> *it;
   }
   return 0;
}

উল্লেখ্য যে decltype দ্বারা নির্দেশিত প্রকার স্বয়ংক্রিয় দ্বারা অনুমানকৃত প্রকার থেকে ভিন্ন হতে পারে৷ আপনি C++ -https://thbecker.net/articles/auto_and_decltype/section_01.html

-এ টাইপ ডিডাকশনের এই 12-পৃষ্ঠার ব্যাখ্যাটিতে এই সূক্ষ্ম পার্থক্যগুলি সম্পর্কে আরও পড়তে পারেন
  1. একটি অটো কীওয়ার্ড C++ এ কী করে?

  2. C++ এ স্বাক্ষরিত এবং স্বাক্ষরবিহীন কীওয়ার্ড কী?

  3. C++ এ টাইপ স্পেসিফায়ার কি?

  4. C++ এ টাইপ কোয়ালিফায়ার কি?