এই আর্টিকেলে আমরা C++ STL-এ std::is_const টেমপ্লেটের কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
C++-এ is_const টেমপ্লেটটি ব্যবহার করা হয় ডিফাইন করা টাইপটি একটি const-কোয়ালিফাইড টাইপ কিনা তা চেক করার জন্য।
const-কোয়ালিফাইড টাইপ কী?
আমরা একটি টাইপকে const-কোয়ালিফাইড বলি যখন টাইপটির মান কনস্ট্যান্ট হয়। কনস্ট্যান্ট ডেটা টাইপ হলো এমন একটি টাইপ যেখানে একবার কোনো মান const-এ ইনিশিয়ালাইজ হলে সেটিকে প্রোগ্রাম 내내 পরিবর্তন বা অ্যাল্টার করা যায় না।
সিনট্যাক্স
template <class T> is_const;
প্যারামিটারস
টেমপ্লেটটি শুধুমাত্র একটি প্যারামিটার টাইপ T নিতে পারে, এবং চেক করে যে দেওয়া টাইপটি একটি const-কোয়ালিফায়ার কিনা।
রিটার্ন ভ্যালু
এটি একটি বুলিয়ান মান রিটার্ন করে, দেওয়া টাইপটি const-কোয়ালিফায়ার হলে true, এবং না হলে false।
উদাহরণ
Input: is_const<const int>::value; Output: True Input: is_const<int>::value; Output: False
উদাহরণ
#include <iostream>
#include <type_traits>
using namespace std;
int main() {
cout << boolalpha;
cout << "checking for is_const template: ";
cout << "\nInt : " << is_const<int>::value;
cout << "\nConst int : " << is_const<const int>::value;
cout << "\nConst int& : " << is_const<const int&>::value;
return 0;
}
আউটপুট
checking for is_const template: Int : false Const int : true Const int& : false
উদাহরণ
#include <iostream>
#include <type_traits>
using namespace std;
int main() {
cout << boolalpha;
cout << "checking for is_const template: ";
cout << "\nFloat : " << is_const<float>::value;
cout << "\nChar : " << is_const<char>::value;
cout << "\nFloat *: " << is_const<float*>::value;
cout << "\nChar *: " << is_const<char*>::value;
cout << "\nConst int* : " << is_const<const int*>::value;
cout << "\nint* const : " << is_const<int* const>::value;
return 0;
}
আউটপুট
checking for is_const template: Float : false Char: false Float *: false Char *: fakse Const int* : false int* const: true