এই পোস্টে, আমরা C++ এ ইনলাইন এবং ম্যাক্রোর মধ্যে পার্থক্য বুঝতে পারব।
ইনলাইন
-
এটি C++ এ একটি ফাংশন।
-
এটি কম্পাইলার দ্বারা পার্স করা হয়।
-
এটি ক্লাসের ভিতরে বা বাইরে সংজ্ঞায়িত করা যেতে পারে।
-
এটি শুধুমাত্র একবার যুক্তি মূল্যায়ন করে।
-
কম্পাইলার সব ফাংশনকে 'ইনলাইন' ফাংশনে রূপান্তর করতে পারে না এবং সেগুলিকে প্রসারিত করতে পারে না।
-
ক্লাসের ভিতরে সংজ্ঞায়িত ছোট ফাংশনগুলি স্বয়ংক্রিয়ভাবে ইনলাইন ফাংশন হিসাবে তৈরি হয়৷
-
একটি ক্লাসের ভিতরে একটি ইনলাইন ফাংশন ক্লাসের সদস্যদের ডেটা অ্যাক্সেস করতে পারে।
-
কোঁকড়া বন্ধনী ব্যবহার করে ইনলাইন ফাংশন বন্ধ করা যেতে পারে।
-
এটি ডিবাগ করা সহজ৷
৷ -
কারণ সংকলনের সময় ত্রুটি পরীক্ষা করা হয়।
-
এটি ফাংশনের মূল অংশে সমস্ত বিবৃতিকে আবদ্ধ করে।
উদাহরণ
inline return_type funct_name ( parameters ) { . . . }
ম্যাক্রো
-
এটি প্রিপ্রসেসর দ্বারা প্রসারিত হয়৷
৷ -
এটি প্রোগ্রামের শুরুতে সংজ্ঞায়িত করা হয়।
-
এটি প্রতিবার কোডের ভিতরে ব্যবহার করার সময় যুক্তিটিকে মূল্যায়ন করে৷
৷ -
এগুলিকে সর্বদা প্রসারিত করতে হবে।
-
তাদের বিশেষভাবে সংজ্ঞায়িত করা দরকার।
-
তারা কখনই ক্লাসের সদস্য হবে না।
-
তারা ক্লাসের সদস্যদের ডেটা অ্যাক্সেস করতে পারে না।
-
ম্যাক্রোর সংজ্ঞা নতুন লাইন দিয়ে শেষ হয়।
-
ম্যাক্রো ডিবাগ করা কঠিন যেহেতু কম্পাইলের সময় ত্রুটি পরীক্ষা করা হয় না।
-
এটি বাঁধাই সমস্যার সম্মুখীন হয় যদি এটিতে একাধিক বিবৃতি থাকে কারণ এটিতে সমাপ্তির চিহ্ন নেই৷
উদাহরণ
#define macro_name char_sequence