এই আর্টিকেলে আমরা C++ STL-এ std::is_unsigned টেমপ্লেটের কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
is_unsigned হলো একটি টেমপ্লেট যা <type_traits> হেডার ফাইলের অধীনে আসে। এই টেমপ্লেটটি ব্যবহার করা হয় দেওয়া টাইপ T একটি আনসাইনড টাইপ কিনা তা চেক করার জন্য।
C++-এ আনসাইনড ডেটা টাইপ কী?
আনসাইনড ডেটা টাইপস হলো সেসব যা আমরা জানি মানগুলো নেগেটিভে যাবে না, যেমন রোল নম্বর, র্যান্ডম নম্বরের আইডি, ইত্যাদি।
একটি টাইপকে আনসাইনড বানাতে আমরা ডেটা টাইপের প্রিফিক্স হিসেবে unsigned কীওয়ার্ড ব্যবহার করি, যেমন -
unsigned int;
unsigned float;
সিনট্যাক্স
template <class T> is_unsigned;
প্যারামিটারস
টেমপ্লেটটি শুধুমাত্র টাইপ T এর প্যারামিটার নিতে পারে, এবং চেক করে যে T একটি আনসাইনড টাইপ কিনা।
রিটার্ন ভ্যালু
এটি একটি বুলিয়ান মান রিটার্ন করে, দেওয়া টাইপটি আনসাইনড টাইপ হলে true, এবং না হলে false।
উদাহরণ
Input: is_unsigned<unsigned int>::value; Output: True Input: is_unsigned<int>::value; Output: False
উদাহরণ
#include <iostream>
#include <type_traits>
using namespace std;
class TP { };
enum TP_1 : int {};
enum class TP_2 : int {};
int main() {
cout << boolalpha;
cout << "checking for is_unsigned:";
cout << "\nint:" << is_unsigned<int>::value;
cout << "\nTP:" << is_unsigned<TP>::value;
cout << "\nTP_1:" << is_unsigned<TP_1>::value;
cout << "\nTP_2:" << is_unsigned<TP_2>::value;
return 0;
}
আউটপুট
checking for is_unsigned: Int: false TP: false TP_1: false TP_2: false
উদাহরণ
#include <iostream>
#include <type_traits>
using namespace std;
int main() {
cout << boolalpha;
cout << "checking for is_unsigned:";
cout << "\nfloat:" << is_unsigned<float>::value;
cout << "\nSigned int:" << is_unsigned<signed int>::value;
cout << "\nUnsigned int:" << is_unsigned<unsigned int>::value;
cout << "\ndouble:" << is_unsigned<double>::value;
return 0;
}
আউটপুট
checking for is_signed: Float: false Signed int: false Unsigned int: true Double: false