অটো ছিল একটি কীওয়ার্ড যা C থেকে C++ "উত্তরাধিকারসূত্রে প্রাপ্ত" যেটি প্রায় চিরকালই ছিল, কিন্তু কার্যত কখনোই ব্যবহৃত হয়নি। C++11-এ প্রসঙ্গ থেকে টাইপ ডিডাকশন করার জন্য অটো চালু হওয়ার সাথে সাথে এই সব পরিবর্তিত হয়েছে। C++ 11-এর আগে, প্রতিটি ডেটা টাইপকে কম্পাইলের সময় স্পষ্টভাবে ঘোষণা করতে হবে, রানটাইমে এক্সপ্রেশনের মান সীমিত করে কিন্তু C++-এর একটি নতুন সংস্করণের পরে, অনেক কীওয়ার্ড অন্তর্ভুক্ত করা হয়েছে যা একজন প্রোগ্রামারকে টাইপ ডিডাকশন কম্পাইলারের কাছেই ছেড়ে দিতে দেয়।
টাইপ ইনফরেন্স ক্ষমতা সহ, আমরা কম্পাইলার ইতিমধ্যেই জানে এমন জিনিসগুলি লিখতে কম সময় ব্যয় করতে পারি। যেহেতু সমস্ত প্রকারগুলি শুধুমাত্র কম্পাইলার পর্যায়ে অনুমান করা হয়, তাই সংকলনের সময় কিছুটা বাড়ে তবে এটি প্রোগ্রামের রানটাইমকে প্রভাবিত করে না৷
স্বয়ংক্রিয় কীওয়ার্ডটি নির্দিষ্ট করে যে ভেরিয়েবলের ধরনটি যেটি ঘোষণা করা শুরু হয়েছে তা স্বয়ংক্রিয়ভাবে এর ইনিশিয়ালাইজার থেকে অনুমান করা হবে এবং ফাংশনের জন্য যদি তাদের রিটার্ন টাইপ অটো হয় তবে রানটাইমে রিটার্ন টাইপ এক্সপ্রেশন দ্বারা মূল্যায়ন করা হবে।
উদাহরণ
#include<iostream> #incllude<vector> using namespace std; int main() { vector<int> vec(10); // Auto deduce type to be iterator of a vector of ints. for(auto it = vec.begin(); it != vec.end(); vec ++) { cin >> *it; } return 0; }