auto কিওয়ার্ডC++-এ auto কিওয়ার্ডটি C++11-এ যুক্ত একটি শক্তিশালী ফিচার, যা দিয়ে অনুমিত ডেটা টাইপের ভ্যারিয়েবল ডিক্লেয়ার করা যায়।
কম্পাইলার ইনিশিয়ালাইজারের ভিত্তিতে ভ্যারিয়েবলটির টাইপ অনুমান করে, ফলে কোড আরও পাঠযোগ্য ও রক্ষণাবেক্ষণযোগ্য হয়ে ওঠে।
নিচের উদাহরণটি দেখুন, যেখানে auto দিয়ে ভ্যারিয়েবল ডিক্লেয়ার করা হয়েছে:
auto dragon_population{3}; // dragon_population is deduced as an integer
auto westeros{7.7777}; // westeros is deduced as a double
auto wedding_location{"The Twins"}; // wedding_location is deduced as a const char*, not std::string
প্রতিটি ক্ষেত্রেই ভ্যারিয়েবলটির টাইপ তার ইনিশিয়ালাইজ করা মান থেকে অনুমান করা হয়।
স্পষ্ট টাইপ লেখার বাহুল্য কমিয়ে auto কিওয়ার্ডটি আরও সংক্ষিপ্ত ও পাঠযোগ্য কোড লিখতে সাহায্য করে।
const std::vector<std::string> pigeon_pie{"flour", "butter", "pigeon", "salt"};
auto purple_wedding_pie{pigeon_pie};
purple_wedding_pie.emplace_back("the strangler");
এই লুপে auto purple_wedding_pie-এর টাইপ std::vector<std::string> হিসেবে অনুমান করে, ফলে টাইপটি আবার স্পষ্টভাবে উল্লেখ করার দরকার পড়ে না।
auto কিওয়ার্ডটি C++-এর নানা কনস্ট্রাক্টের সাথে সামঞ্জস্যপূর্ণ, যা এটিকে আধুনিক C++ প্রোগ্রামিংয়ে একটি বহুমুখী হাতিয়ার করে তোলে।
auto& element{array[0]}; // reference to an element
const auto object{otherObject}; // const type version of otherObject's type
auto* ptr{&x}; // pointer to x with the same type as x, but as a pointer.
পরের কোনো কনসেপ্টে আমরা প্রায়ই auto কিওয়ার্ডটি ল্যাম্বডা এক্সপ্রেশন, রেঞ্জ-ভিত্তিক for লুপ আর ইটারেটরের সাথে দেখতে পাব।
auto বিশেষভাবে কাজে লাগে।auto কোডের জঞ্জাল কমায় এবং রক্ষণাবেক্ষণযোগ্যতা বাড়ায়।