কম্পিউটার

C++ এ ইনলাইন এবং ম্যাক্রোর মধ্যে পার্থক্য


এই পোস্টে, আমরা C++ এ ইনলাইন এবং ম্যাক্রোর মধ্যে পার্থক্য বুঝতে পারব।

ইনলাইন

  • এটি C++ এ একটি ফাংশন।

  • এটি কম্পাইলার দ্বারা পার্স করা হয়।

  • এটি ক্লাসের ভিতরে বা বাইরে সংজ্ঞায়িত করা যেতে পারে।

  • এটি শুধুমাত্র একবার যুক্তি মূল্যায়ন করে।

  • কম্পাইলার সব ফাংশনকে 'ইনলাইন' ফাংশনে রূপান্তর করতে পারে না এবং সেগুলিকে প্রসারিত করতে পারে না।

  • ক্লাসের ভিতরে সংজ্ঞায়িত ছোট ফাংশনগুলি স্বয়ংক্রিয়ভাবে ইনলাইন ফাংশন হিসাবে তৈরি হয়৷

  • একটি ক্লাসের ভিতরে একটি ইনলাইন ফাংশন ক্লাসের সদস্যদের ডেটা অ্যাক্সেস করতে পারে।

  • কোঁকড়া বন্ধনী ব্যবহার করে ইনলাইন ফাংশন বন্ধ করা যেতে পারে।

  • এটি ডিবাগ করা সহজ৷

  • কারণ সংকলনের সময় ত্রুটি পরীক্ষা করা হয়।

  • এটি ফাংশনের মূল অংশে সমস্ত বিবৃতিকে আবদ্ধ করে।

উদাহরণ

inline return_type funct_name ( parameters ) {
   . . .
}

ম্যাক্রো

  • এটি প্রিপ্রসেসর দ্বারা প্রসারিত হয়৷

  • এটি প্রোগ্রামের শুরুতে সংজ্ঞায়িত করা হয়।

  • এটি প্রতিবার কোডের ভিতরে ব্যবহার করার সময় যুক্তিটিকে মূল্যায়ন করে৷

  • এগুলিকে সর্বদা প্রসারিত করতে হবে।

  • তাদের বিশেষভাবে সংজ্ঞায়িত করা দরকার।

  • তারা কখনই ক্লাসের সদস্য হবে না।

  • তারা ক্লাসের সদস্যদের ডেটা অ্যাক্সেস করতে পারে না।

  • ম্যাক্রোর সংজ্ঞা নতুন লাইন দিয়ে শেষ হয়।

  • ম্যাক্রো ডিবাগ করা কঠিন যেহেতু কম্পাইলের সময় ত্রুটি পরীক্ষা করা হয় না।

  • এটি বাঁধাই সমস্যার সম্মুখীন হয় যদি এটিতে একাধিক বিবৃতি থাকে কারণ এটিতে সমাপ্তির চিহ্ন নেই৷

উদাহরণ

#define macro_name char_sequence

  1. C++ এ নতুন অপারেটর এবং নতুন অপারেটরের মধ্যে পার্থক্য?

  2. C++ এ ব্যক্তিগত, সর্বজনীন এবং সুরক্ষিত সংশোধকদের মধ্যে পার্থক্য

  3. C++ এ ডট (.) অপারেটর এবং -> এর মধ্যে পার্থক্য কী?

  4. C# এ ক্লাস এবং স্ট্রাকচারের মধ্যে পার্থক্য