এই প্রবন্ধে আমরা C++ STL-এ std::is_arithmetic টেমপ্লেটের কাজ, বাক্য গঠন এবং উদাহরণ নিয়ে আলোচনা করব।
is_arithmetic টেমপ্লেট প্রদত্ত ক্লাস T পাটিগণিতের প্রকারের কিনা তা পরীক্ষা করতে সাহায্য করে।
একটি পাটিগণিতের ধরন কি?
পাটিগণিতের ধরন দুটি প্রকার নিয়ে গঠিত, তা হল
-
অখণ্ড প্রকার - এতে আমরা সম্পূর্ণ সংখ্যা সংজ্ঞায়িত করি। নিচের অখণ্ড প্রকারের ধরন −
- চার
- বুল
- int
- দীর্ঘ
- ছোট
- দীর্ঘ দীর্ঘ
- wchar_t
- char16_t
- char32_t
-
ফ্লোটিং পয়েন্ট প্রকারগুলি - এগুলি ভগ্নাংশ ধারণ করতে পারে। নিচের ফ্লোটিং পয়েন্টের ধরন।
- ভাসা
- ডবল
- লং ডবল
তাই, টেমপ্লেট is_arithmatic চেক করে যে সংজ্ঞায়িত টাইপ T একটি গাণিতিক প্রকার কি না এবং সেই অনুযায়ী সত্য বা মিথ্যা প্রদান করে।
সিনট্যাক্স
template <class T> is_arithmetic;
পরামিতি
একটি টেমপ্লেটে শুধুমাত্র একটি প্যারামিটার থাকতে পারে যা T টাইপের, এবং প্যারামিটারটি পাটিগণিত টাইপের কিনা তা পরীক্ষা করে।
রিটার্ন মান
এই ফাংশনটি একটি bool টাইপ মান প্রদান করে, যা সত্য বা মিথ্যা হতে পারে। প্রদত্ত টাইপটি গাণিতিক হলে এটি সত্য এবং টাইপটি পাটিগণিত না হলে মিথ্যা দেখায়৷
উদাহরণ
Input: is_arithmetic<bool>::value; Output: True Input: is_arithmetic<class_a>::value; Output: false
উদাহরণ
#include <iostream> #include <type_traits> using namespace std; class TP { }; int main() { cout << boolalpha; cout << "checking for is_arithmetic template:"; cout << "\nTP class : "<< is_arithmetic<TP>::value; cout << "\n For Bool value: "<< is_arithmetic<bool>::value; cout << "\n For long value : "<< is_arithmetic<long>::value; cout << "\n For Short value : "<< is_arithmetic<short>::value; return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেchecking for is_arithmetic template: TP class : false For Bool value: true For long value : true For Short value : true
উদাহরণ
#include <iostream> #include <type_traits> using namespace std; int main() { cout << boolalpha; cout << "checking for is_arithmetic template:"; cout << "\nInt : "<< is_arithmetic<int>::value; cout << "\nchar : "<< is_arithmetic<char>::value; cout << "\nFloat : "<< is_arithmetic<float>::value; cout << "\nDouble : "<< is_arithmetic<double>::value; cout << "\nInt *: "<< is_arithmetic<int*>::value; cout << "\nchar *: "<< is_arithmetic<char*>::value; cout << "\nFloat *: "<< is_arithmetic<float*>::value; cout << "\nDouble *: "<< is_arithmetic<double*>::value; return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেchecking for is_arithmetic template: Int : true Char : true Float : true Double : true Int * : float Char *: float Float *: float Double *: float