প্রোগ্রামিংয়ের মৌলিক ধারণা/সি++ সংরক্ষিত কীওয়ার্ড
C++ প্রোগ্রামিং ফান্ডামেন্টালস কোর্সের জন্য সংক্ষিপ্ত ব্যাখ্যা ও সংরক্ষিত কীওয়ার্ডগুলোর তালিকা।
সব প্রোগ্রামিং ভাষারই কিছু “সংরক্ষিত শব্দ” (reserved words) থাকে। সাধারণত প্রতিটি প্রোগ্রামিং ভাষায় এই সংরক্ষিত শব্দের সংখ্যা ৫০টির কম হয়। এগুলোকে সংরক্ষিত বলা হয় কারণ এই শব্দগুলোর নির্দিষ্ট অর্থ বা কাজ পূর্ব-নির্ধারিত থাকে প্রোগ্রামিং ভাষাটির মধ্যে, ফলে কম্পাইলার এই শব্দগুলোকে একটি নির্দিষ্ট কাজ বোঝাতে চিনতে পারে। C++ ভাষায় এই সংরক্ষিত শব্দগুলোকে “কীওয়ার্ড” বলেও পরিচিত করা হয়।
প্রোগ্রামাররা বিভিন্ন কাজে আইডেন্টিফায়ার নাম ব্যবহার করে থাকেন, যেমন: ফাংশন, ভেরিয়েবল, নামকৃত ধ্রুবক (named constants), উপনাম (alias name) ইত্যাদি। তবে, যেসব শব্দ প্রোগ্রামিং ভাষার জন্য সংরক্ষিত, সেগুলোকে আইডেন্টিফায়ার নাম হিসেবে ব্যবহার করা যায় না।
C++ ভাষায় সমস্ত “সংরক্ষিত কীওয়ার্ড” ছোট হাতের অক্ষরে (lower case) লেখা হয়। নিচে যে তালিকাটি দেওয়া হয়েছে তা American National Standards Institute (ANSI) এবং International Organization for Standardization (ISO)-এর C++ প্রোগ্রামিং ভাষার জন্য নির্ধারিত সংরক্ষিত শব্দের তালিকা। ISO-র তালিকাভুক্ত কিছু শব্দ হয়তো আপনি যে কম্পাইলার ব্যবহার করছেন তাতে এখনো প্রয়োগ হয়নি, তবে ভবিষ্যতের কোনো C++ কম্পাইলারে সেগুলো যুক্ত হতে পারে। সুতরাং, প্রজ্ঞা বলছে—এই মুহূর্তে এসব শব্দ ব্যবহার না করাই উত্তম, যাতে ভবিষ্যতে কোড কম্পাইল করতে কোনো সমস্যা না হয়। ANSI বা ISO-র তালিকায় আলাদাভাবে এই পার্থক্য উল্লেখ করা হয়নি। ইন্টারনেটে C++-এর সংরক্ষিত শব্দ নিয়ে অনুসন্ধান করলে বিভিন্ন রকমের তালিকা পাওয়া যাবে। কিছু তালিকা নির্দিষ্ট কোনো কম্পাইলারের জন্য স্বতন্ত্র হতে পারে। কিছু তালিকা আবার অসম্পূর্ণও হতে পারে কারণ পরবর্তীতে নতুন শব্দ যোগ হয়েছে। নিচের টেবিলটি যেকোনো প্রাথমিক পর্যায়ের C++ প্রোগ্রামিং কোর্সের জন্য প্রযোজ্য হবে।
সংরক্ষিত কীওয়ার্ডগুলো হলো:
| and | double | not_eq | throw |
| and_eq | dynamic_cast | operator | true |
| asm | else | or | try |
| auto | enum | or_eq | typedef |
| bitand | explicit | private | typeid |
| bitor | extern | protected | typename |
| bool | false | public | union |
| break | float | register | unsigned |
| case | for | reinterpret-cast | using |
| catch | friend | return | virtual |
| char | goto | short | void |
| class | if | signed | volatile |
| compl | inline | sizeof | wchar_t |
| const | int | static | while |
| const-cast | long | static_cast | xor |
| continue | mutable | struct | xor_eq |
| default | namespace | switch | |
| delete | new | template | |
| do | not | this |