একটি ভেরিয়েবল (variable) আমাদের প্রোগ্রামকে নামযুক্ত স্টোরেজ দেয় যা আমরা ম্যানিপুলেট করতে পারি। C++-এ প্রতিটি ভেরিয়েবলের একটি নির্দিষ্ট টাইপ থাকে, যা নির্ধারণ করে ভেরিয়েবলের মেমরির আকার ও লেআউট; সেই মেমরিতে কী রেঞ্জের মান স্টোর করা যাবে; এবং ভেরিয়েবলের ওপর কী কী অপারেশন প্রয়োগ করা যাবে। একটি খুব সিম্পল ভেরিয়েবল উদাহরণ:
int my_val = 5;
এখানে আমাদের my_val নামে একটি ভেরিয়েবল আছে যার টাইপ int (ইন্টিজার) এবং মান ৫। আরও সাধারণভাবে ভেরিয়েবলগুলো ডিফাইন করা হয়:
type variable_name;
অথবা আপনি যদি ইনিশিয়ালাইজ করতে চান:
type variable_name = value;
একটি ভেরিয়েবলের নাম অক্ষর, ডিজিট, এবং আন্ডারস্কোর ক্যারেক্টার দিয়ে গঠিত হতে পারে। এটি অবশ্যই অক্ষর বা আন্ডারস্কোর দিয়ে শুরু হতে হবে। আপারকেস এবং লোয়ারকেস অক্ষর আলাদা কারণ C++ কেস-সেনসিটিভ। C++-এ উপলব্ধ বেসিক টাইপগুলো নিচে দেওয়া হলো:
| ক্রমিক নং | টাইপ | বিবরণ |
|---|---|---|
| 1 | bool | true বা false মান স্টোর করে। |
| 2 | char | সাধারণত একটি অক্টেট (এক বাইট)। এটি একটি ইন্টিজার টাইপ। |
| 3 | int | মেশিনের জন্য সবচেয়ে ন্যাচারেল সাইজের ইন্টিজার। |
| 4 | float | সিঙ্গেল-প্রিসিশন ফ্লোটিং পয়েন্ট ভ্যালু। |
| 5 | double | ডাবল-প্রিসিশন ফ্লোটিং পয়েন্ট ভ্যালু। |
| 6 | void | টাইপের অনুপস্থিতি রিপ্রেজেন্ট করে। |
C++ আমাদের আরও জটিল ভেরিয়েবল তৈরি করার সুবিধা দেয় যেমন: Enumeration, Pointer, Array, Reference, Data structures, এবং Classes।
- Enumerations (enums): একটি ডেটা টাইপ যাতে নামযুক্ত ভ্যালুয়ের একটি সেট থাকে যাকে elements, members, enumeral, বা enumerators বলা হয়। এনামারেটর নামগুলো সাধারণত আইডেন্টিফায়ার যা ল্যাঙ্গুয়েজে কনস্ট্যান্ট হিসেবে behave করে।
- Pointers: স্পেশাল ইন্টিজার যা অন্য ভেরিয়েবলগুলোর অ্যাড্রেস স্টোর করে।
- Reference: একটি সিম্পল রেফারেন্স ডেটা টাইপ যা C-র থেকে ইনহেরিট করা পয়েন্টার টাইপের চেয়ে কম শক্তিশালী কিন্তু সेफার।
- Data structure (struct): ডেটা এলিমেন্টের একটি গ্রুপ যা একসাথে একটি নামের অধীন গোষ্ঠীভূত। এই ডেটা এলিমেন্টগুলো (members) ভিন্ন টাইপ এবং ভিন্ন লেংথের হতে পারে।
- Classes: ডেটা স্ট্রাকচার-এর এক্সপ্যান্ডেড কনসেপ্ট: ডেটা স্ট্রাকচারের মতো সেগুলো ডেটা মেম্বার ধারণ করতে পারে, কিন্তু সেগুলো ফাংশনও মেম্বার হিসেবে ধারণ করতে পারে।