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

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

পয়েন্টার ডিক্লেরেশনে const এর পজিশন অর্থ পরিবর্তন করে। Clockwise/Spiral Rule অনুসরণ করে পড়া যায়: পয়েন্টার নাম থেকে শুরু করে ঘড়ির কাঁটার দিকে পড়ুন।

১. const int* ptr (বা int const* ptr)

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

  • অর্থ: পয়েন্টার modification-যোগ্য, কিন্তু পয়েন্ট করা ডেটা const (read-only)।
  • পড়ুন: "ptr is a pointer to const int"
  • ডেটা পরিবর্তন করা যাবে না: *ptr = 10; // Error
  • পয়েন্টার পরিবর্তন করা যাবে: ptr = &other; // OK

২. const int* const ptr

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

  • অর্থ: পয়েন্টারও const, পয়েন্ট করা ডেটাও const।
  • পড়ুন: "ptr is a const pointer to const int"
  • দুটোই পরিবর্তন করা যাবে না। ইনিশিয়ালাইজেশনে বাধ্যতামূলক。

৩. int* const ptr

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

  • অর্থ: পয়েন্টার const (পুনঃঅ্যাসাইন করা যাবে না), কিন্তু ডেটা মডিফাইযোগ্য।
  • পড়ুন: "ptr is a const pointer to int"
  • *ptr = 10; // OK, ptr = &other; // Error

সারসংক্ষেপ টেবিল

ডিক্লেরেশনপয়েন্টার Const?ডেটা Const?নোট
const int* p / int const* pনাহ্যাঁসাধারণত ব্যবহৃত (read-only access)
int* const pহ্যাঁনাফিক্সড অ্যাড্রেস, মডিফাইযোগ্য ডেটা
const int* const pহ্যাঁহ্যাঁপুরোপুরি ইমিউটেবল

মনে রাখার টিপ: const আস্তারলে (* এর বামে) -> ডেটা কনস্ট। ডানে (* এর ডানে) -> পয়েন্টার কনস্ট।

  1. DirectX 11 এবং DirectX 12-এর পার্থক্য কী?

  2. C#-তে int এবং Int32-এর পার্থক্য

  3. C#-এ const এবং readonly কীওয়ার্ডের পার্থক্য

  4. C#-এ ইমপ্লিসিট এবং এক্সপ্লিসিট টাইপ কনভার্সনের পার্থক্য