কম্পিউটার টিউটোরিয়াল

C/C++-এ const int*, const int * const, int const * পার্থক্য

পয়েন্টার ডিক্লেরেশনে const-এর পজিশন অনুযায়ী অর্থ পরিবর্তন হয়। স্পাইরাল রুল (Spiral Rule) অনুসরণ করুন: ভেরিয়েবল নাম থেকে শুরু করে ঘড়ির কাঁটার দিকে পড়ুন।

অর্থগুলো

ডিক্লেরেশনঅর্থ
int *pint-এ পয়েন্টার (পয়েন্টার এবং পয়েন্টেড মান উভয়ই মডিফাইযোগ্য)
const int *p বা int const *pconst int-এ পয়েন্টার (পয়েন্টেড মান মডিফাই করা যায় না, পয়েন্টার চেঞ্জ করা যায়)
int * const pint-এ কনস্ট পয়েন্টার (পয়েন্টার চেঞ্জ করা যায় না, পয়েন্টেড মান মডিফাই করা যায়)
const int * const p বা int const * const pconst int-এ কনস্ট পয়েন্টার (দুটোই চেঞ্জ করা যায় না)

মনে রাখার টিপস: *-এর বামে const থাকলে পয়েন্টেড ডেটা কনস্ট; ডানে থাকলে পয়েন্টারটি কনস্ট।

const int *p;     // *p is const (data const)
int * const p;    // p is const (pointer const)
const int * const p; // both const
  1. C++-এ const int*, const int* const, int const* পার্থক্য

  2. C/C++-এ #include <filename> এবং #include "filename"-এর পার্থক্য

  3. C++-এ static, auto, global এবং local ভেরিয়েবলের পার্থক্য

  4. C++-এ ডিক্লেয়ারেশন (Declaration) এবং ডেফিনিশন (Definition) এর পার্থক্য