শুরু করার জন্য আপনি সম্ভবত জানেন যে constকোনও একটি অবজেক্টের ডেটা বা পয়েন্টারটি পরিবর্তনযোগ্য নয় বা উভয়ই তৈরি করতে ব্যবহার করা যেতে পারে।
const Object* obj; // can't change data
Object* const obj; // can't change pointer
const Object* const obj; // can't change data or pointer
তবে আপনি সিনট্যাক্সটিও ব্যবহার করতে পারেন:
Object const *obj; // same as const Object* obj;
কেবলমাত্র জিনিসটি মনে হচ্ছে আপনি constকীওয়ার্ডটি রেখেছেন তারার পাশের দিকটি । ব্যক্তিগতভাবে আমি constটাইপের বামে রাখার জন্য এটির তথ্য নির্দিষ্ট করতে পছন্দ করি না কারণ এটি আমার বাম থেকে ডান মানসিকতায় আরও ভাল পড়তে পারে তবে কোন বাক্য গঠনটি প্রথম এসেছিল?
আরও গুরুত্বপূর্ণ বিষয় হল কেন constডেটা নির্দিষ্ট করার দুটি সঠিক উপায় আছে এবং কোন পরিস্থিতিতে আপনি যদি অপরটির চেয়ে বেশি পছন্দ করেন বা প্রয়োজন?
সম্পাদনা:
সুতরাং এটি মনে হচ্ছে এটি একটি স্বেচ্ছাসেবী সিদ্ধান্ত ছিল যখন আমার জন্মের অনেক আগে কম্পাইলাররা কীভাবে বিষয়গুলি ব্যাখ্যা করতে হবে তার মানক খসড়া করা হয়েছিল। যেহেতু constকীওয়ার্ডের বাম দিকে যা প্রয়োগ করা হয় (ডিফল্ট অনুসারে?) আমার ধারণা তারা আবিষ্কার করেছেন যে কীওয়ার্ড প্রয়োগ করতে "শর্টকাট" যুক্ত করতে এবং কোনওভাবেই ঘোষণাপত্র পরিবর্তনের মতো সময় পরিবর্তন না হওয়া পর্যন্ত অন্যান্য উপায়ে বাছাইপর্ব টাইপ করার কোনও ক্ষতি হয়নি। * বা & কে পার্সিং করা হচ্ছে
এটি সিতেও কি তখন আমি ধরে নিচ্ছি?
constপরে যুক্ত করুন, উদাহরণস্বরূপ#define MAKE_CONST(T) T constপরিবর্তে#define MAKE_CONST(T) const TযাMAKE_CONST(int *)সঠিকভাবেint * constপরিবর্তে প্রসারিত হবেconst int *।