আমরা সকলেই এক সময় বা অন্য সময় অবশ্যই typedef
s এবং #define
s ব্যবহার করেছি । আজ তাদের সাথে কাজ করার সময় আমি একটি বিষয় নিয়ে চিন্তাভাবনা শুরু করি।
int
অন্য নামের সাথে ডেটা টাইপ ব্যবহার করতে নীচের 2 টি পরিস্থিতি বিবেচনা করুন :
typedef int MYINTEGER
এবং
#define MYINTEGER int
উপরের পরিস্থিতিটির মতো আমরাও অনেক পরিস্থিতিতে # ডিফাইন ব্যবহার করে খুব ভালভাবে কোনও কাজ সম্পাদন করতে পারি এবং টাইপেডেফ ব্যবহার করেও একই কাজ করতে পারি, যদিও আমরা যে পদ্ধতিতে একই পদ্ধতি ব্যবহার করি তা বেশ আলাদা হতে পারে। # ডেফাইন ম্যাক্রো ক্রিয়াও সম্পাদন করতে পারে যা কোনও টাইপিডেফ পারে না।
যদিও এগুলি ব্যবহারের মূল কারণটি ভিন্ন, তবে তাদের কাজটি কতটা আলাদা? যখন উভয় ব্যবহার করা যেতে পারে তখন একজনের চেয়ে কখন অন্যটির চেয়ে বেশি পছন্দ করা উচিত? এছাড়াও, কোনটি অন্য পরিস্থিতিতে তুলনায় দ্রুত গ্যারান্টিযুক্ত? (যেমন # ডিফাইন প্রিপ্রোসেসর নির্দেশিকা, সুতরাং সমস্ত কিছু সংকলন বা রানটাইমের চেয়ে আগে সম্পন্ন হয়েছিল)।