সি ++ ইনলাইন ফাংশন  


একটি ইনলাইন ফাংশন এমন একটি ফাংশন যেখানে দেহের কলের স্থানে isোকানো হয়। এই ফাংশনগুলি ম্যাক্রোসের সাথে তুলনা করা যেতে পারে। অ্যাপ্লিকেশনটির কার্যকারিতা উন্নত করতে ইনলাইন ফাংশনগুলি ব্যবহৃত হয়। তবে অনেকগুলি ইনলাইন ফাংশন আপনার প্রোগ্রামটিকে আকারে বাড়তে পরিচালিত করতে পারে। এজন্য প্রায়শই কেবলমাত্র ছোট কার্যগুলি ইনলাইন হিসাবে ঘোষণা করা হয়।

আপনার ফাংশনগুলি ইনলাইন হওয়ার জন্য দুটি উপায় রয়েছে। প্রথমটি শ্রেণীর ঘোষণার মূল সদস্যের সদস্য কার্যকারিতার সহজ সংজ্ঞা নিয়ে গঠিত:

class Person
{
public:
	//an inline function
	string getFirstName()
	{
		return firstName;
	}
private:
	string firstName;
	string lastName;
	tm dateOfBirth;
};

getFrstName এই ক্ষেত্রে একটি ইনলাইন ফাংশন।

আর একটি সম্ভাবনা হ'ল ফাংশনের সংজ্ঞা সহ ইনলাইন কীওয়ার্ডটি ব্যবহার করা। এক্ষেত্রে আপনাকে সাধারণ ফাংশনটি ঘোষণা করার সাথে সাথে আপনাকে ফাংশনটি একইভাবে ঘোষণা করতে হবে:

//declaration of an inline function
string getLastName()

একটি ইনলাইন ফাংশনের সংজ্ঞা অবশ্যই শ্রেণীর ঘোষণার সাথে একই শিরোনাম ফাইলে করা উচিত। এই নিয়মটি অনুসরণ করা খুব গুরুত্বপূর্ণ; কারণ আপনি লিঙ্কারের ত্রুটিটি মামলায় পেতে পারেন, আপনি একটি .cpp ফাইলে ইনলাইন ফাংশনটি সংজ্ঞায়িত করেন। ইনলাইন ফাংশনটির সংজ্ঞা অবশ্যই ইনলাইন কীওয়ার্ডটি ব্যবহার করবে:
//getLastName is in the same header file with declaration of
//Person class
inline string Person::getLastName()
{
	return lastName;
}

ইনলাইন ফাংশন ব্যবহারের নিম্নলিখিত সুবিধা রয়েছে:

  • ফাংশনের কলের জন্য কিছু অপ্রয়োজনীয় নির্দেশাবলী অপসারণ প্রোগ্রামগুলিকে দ্রুততর করে তোলে।
  • যখন অনেকগুলি ছোট ফাংশন প্রায়শই সংকলক বলা হয় তখন ফাংশনের কলগুলির জন্য আরও কোড উত্পন্ন করে। ইনলাইন ফাংশনগুলির সঠিক ব্যবহার প্রোগ্রামগুলিকে আরও ছোট করে তোলে।

কখনও কখনও মনে হয় যে ইনলাইন ফাংশন কোনও অ্যাপ্লিকেশনটির কার্যকারিতা বাড়িয়ে তুলতে পারে। তবে অনেকগুলি ইনলাইন ফাংশন ব্যবহারের ফলে বিভিন্ন সমস্যা দেখা দিতে পারে:

  • অনেক ইনলাইন ফাংশন বাইনারি এক্সিকিউটেবল ফাইলের বৃদ্ধির কারণ হতে পারে।
  • ইনলাইন ফাংশনটি প্রতিটি সংকলনের ইউনিটে যেখানে এটি ব্যবহৃত হয় তা অবশ্যই ঘোষণা করতে হবে।
আরো দেখুন
সি ++ পরিবর্তনশীল সুযোগ