নিম্নলিখিত ইনলাইনড ফাংশনটি বিবেচনা করুন:
// Inline specifier version
#include<iostream>
#include<cstdlib>
inline int f(const int x);
inline int f(const int x)
{
return 2*x;
}
int main(int argc, char* argv[])
{
return f(std::atoi(argv[1]));
}
এবং কনস্টেক্সপ্র সমতুল্য সংস্করণ:
// Constexpr specifier version
#include<iostream>
#include<cstdlib>
constexpr int f(const int x);
constexpr int f(const int x)
{
return 2*x;
}
int main(int argc, char* argv[])
{
return f(std::atoi(argv[1]));
}
আমার প্রশ্নটি: constexprস্পেসিফায়ার স্পষ্টকারীটিকে কি inlineএই অর্থে বোঝায় যে যদি কোনও constexprফাংশনে একটি অ-ধ্রুবক যুক্তি পাঠানো হয় তবে সংকলকটি ফাংশনটিতে এমন চেষ্টা করবে inlineযে inlineস্পেসিফায়ারটিকে তার ঘোষণায় রাখা হয়েছিল?
সি ++ 11 মান কি গ্যারান্টি দেয়?
inlineসুনির্দিষ্টভাবে উল্লেখ করা আর সাথে কিছু হয়েছে ইনলাইনিং
inlineসরাসরি ইনলাইনিংয়ের সাথে সম্পর্কিত যে ভুল অনুমানের দিকে যায়। সুতরাং না, constexprস্পেসিফায়ার inlineসেই অর্থে স্পেসিফারকে বোঝায় না , কারণ সেই অর্থে বিদ্যমান নেই।
inlineনির্দিষ্টকারী যা করে তা নয়। (অথবা হতে পারে আমি আপনার বাক্যটিকে ভুল বুঝেছি))