আপনি কোনও ভাষার কীওয়ার্ড হিসাবে যুক্ত হওয়ার কথা ভাবতে পারেন এমন প্রায় প্রতিটি শব্দই অবশ্যই অবশ্যই ভেরিয়েবলের নাম বা ওয়ার্কিং কোডের অন্য কোনও অংশ হিসাবে ব্যবহৃত হয়েছে। আপনি যদি এই শব্দটিকে কীওয়ার্ড বানান তবে এই কোডটি নষ্ট হয়ে যাবে।
অবিশ্বাস্যভাবে ভাগ্যবান বিষয়টি auto
হ'ল এটি ইতিমধ্যে একটি কীওয়ার্ড ছিল, সুতরাং সেই নামের সাথে লোকের ভেরিয়েবল ছিল না, তবে কেউ এটি ব্যবহার করেনি, কারণ এটি ডিফল্ট ছিল। কেন টাইপ করুন:
auto int i=0;
কখন
int i=0;
ঠিক একই জিনিস বোঝানো?
আমি গ্রহটির কোথাও কোথাও কোথাও কিছু অল্প পরিমাণে কোড পেয়েছি যা 'অটো' পুরানো উপায়ে ব্যবহার করেছিল। তবে এটি 'অটো' অপসারণের মাধ্যমে ঠিক করা যেতে পারে এবং এটি আবার কাজ করবে। সুতরাং কীওয়ার্ডটি পুনরায় প্রকাশ করা এটি বেশ সুস্পষ্ট পছন্দ ছিল।
আমি এটি একটি পরিষ্কার অর্থ বলে মনে হয়। আপনি যদি ভেরিয়েন্ট এবং এর সাথে কাজ করে থাকেন, আপনি যখন দেখেন var
যে ভেরিয়েবলের ধরণটি নির্দিষ্ট করতে আপনি কী-বোর্ডের সমস্ত কী নিজেই টিপেন তার চেয়ে ঘোষণাকে কোনওরকমভাবে কম টাইপ করা হয়েছে। আমার কাছে auto
এটি আরও স্পষ্ট করে তোলে যে আপনি সংকলকটিকে স্বয়ংক্রিয়ভাবে টাইপটি কমিয়ে আনতে বলছেন, যা ঠিক এটি নিজের মতো করে নির্দিষ্ট করে দেওয়ার মতোই শক্তিশালী। সুতরাং এটি সত্যিই খুব ভাগ্যবান ব্রেক ছিল যা কমিটির কাছে একটি ভাল নাম উপলব্ধ করেছিল।
(ছোট) ব্রেকিং স্পষ্ট করতে:
তোমার যদি থাকত
auto int i=0;
এবং একটি সি ++ 11 সংকলক দিয়ে সংকলনের চেষ্টা করেছিলেন, আপনি এখন যেমন একটি ত্রুটি পাবেন
ত্রুটি C3530: 'অটো' অন্য কোনও টাইপ-স্পেসিফায়ারের সাথে একত্রিত করা যায় না
এটি তুচ্ছ, আপনি কেবল অটো বা ইনটটি সরিয়ে পুনরায় সংযোগ করুন।
যদিও আরও বড় সমস্যা আছে। তোমার যদি থাকত
auto i = 4.3;
সি এবং সত্যই পুরানো সি ++ i
একটি তৈরি করবে int
(এটি যদি আপনি ছেড়ে চলে যান auto
- ডিফল্ট ঘোষণা ছিল int
) ration আপনি যদি এই কোডটি সংকলন না করে সত্যিই দীর্ঘ সময় চলে গেছেন বা পুরানো সংকলক ব্যবহার করছেন তবে কমপক্ষে তাত্ত্বিকভাবে আপনার এই কোডটির কিছু থাকতে পারে। সি ++ 11 এটিকে double
4.3 এর থেকে তৈরি করবে 4. (বা হতে পারে একটি float
, আমি এখনও বক্সিং ডে মোডে আছি, তবে বিষয়টি হ'ল একটি নয় int
) এটি আপনার অ্যাপ্লিকেশন জুড়ে সূক্ষ্ম বাগগুলি প্রবর্তন করতে পারে। এবং সংকলক থেকে কোনও সতর্কতা বা ত্রুটি ছাড়াই। এই বোটের লোকেরা auto
সি ++ 11 সংকলক যাওয়ার আগে তারা এটি পুরানো উপায়ে ব্যবহার করছে না তা নিশ্চিত করার জন্য বিশ্বব্যাপী অনুসন্ধান করা উচিত । ভাগ্যক্রমে, এই জাতীয় কোড অত্যন্ত বিরল।
auto
পিছনে সামঞ্জস্যতা ভেঙে যেতে পারে, তবে প্রাক -11 কোডে কীওয়ার্ডটিvar
প্রায়শইauto
ব্যবহৃত হয় তার তুলনায় ভেরিয়েবলের নাম হিসাবে কতবার ব্যবহৃত হয় তার উপর নির্ভর করে কমিটি ধারণা করেছিল যে এটি কোনও নতুন প্রবর্তনের চেয়ে সামঞ্জস্যতা কম নাটকীয়ভাবে ভেঙে ফেলেছে কীওয়ার্ড হবে।