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

C++-এ ইনলাইন ফাংশন (Inline Functions in C++)

ইনলাইন ফাংশন কী?

inline কীওয়ার্ড কম্পাইলারকে অনুরোধ করে যে ফাংশন কলের জায়গায় ফাংশনের বডি কপি করে দিতে (ফাংশন কল ওভারহেড কমাতে)। কম্পাইলার এই অনুরোধ উপেক্ষা করতে পারে যদি ফাংশন জটিল হয়।

সিনট্যাক্স এবং নিয়ম

  • inline return_type func(params) { ... }
  • ফাংশন ডেফিনিশন কল করার আগে দৃশ্যমান হতে হয় (হেডার ফাইলে রাখা ভালো)।
  • ক্লাস ডেফিনিশন ভিতরে ডিফাইন করা ফাংশনগুলো ডিফল্টভাবে ইনলাইন।

উদাহরণ কোড

#include <iostream>
using namespace std;

inline int Max(int x, int y) {
    return (x > y) ? x : y;
}

int main() {
    cout << "Max(20,10): " << Max(20,10) << endl;
    cout << "Max(0,200): " << Max(0,200) << endl;
    cout << "Max(100,1010): " << Max(100,1010) << endl;
    return 0;
}

আউটপুট

Max(20,10): 20
Max(0,200): 200
Max(100,1010): 1010

সতর্কতা: বড় ফাংশন ইনলাইন করলে কোড ব্লোট (code bloat) হয়, ক্যাশে মিস বাড়ে। ছোট, ঘন ঘন কল হওয়া ফাংশনগুলোর জন্য উপযুক্ত।

  1. C++-ে ইনলাইন ভার্চুয়াল ফাংশন

  2. GCC কম্পাইলারের বিল্ট-ইন ফাংশন (Builtin functions of GCC compiler in C++)

  3. C++-এ log() ফাংশন

  4. C++-এ swap() ফাংশন