এই আর্টিকেলে আমরা C++ STL-এ std::is_void টেমপ্লেটের কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
is_void হলো একটি টেমপ্লেট যা <type_traits> হেডার ফাইলের অধীনে আসে। এই টেমপ্লেটটি ব্যবহার করা হয় দেওয়া টাইপ T একটি void টাইপ কিনা তা চেক করার জন্য।
C++-এ void টাইপ কী?
সহজ কথায় void মানে "খালি" বা "কিছুই না"। যখন আমরা একটি ফাংশনকে void ডিক্লেয়ার করি তখন ধরে নেওয়া হয় যে এই ফাংশন কিছুই রিটার্ন করবে না।
আমরা void পয়েন্টারও ডিক্লেয়ার করি, যেগুলো অনির্দিষ্ট রেখে দেওয়া হয়। যাইহোক, পয়েন্টার ডিরেফারেন্স করার আগে সেটিকে অন্য টাইপের ভেরিয়েবলের সাথে রেফারেন্স করা আবশ্যক। সেগুলো তাদের টাইপ নির্বিশেষে যেকোনো অবজেক্টকে পয়েন্ট করতে পারে, তাই প্রোগ্রামারদের জন্য খুব উপযোগী।
সিনট্যাক্স
template <class T> is_void;
প্যারামিটারস
টেমপ্লেটটি শুধুমাত্র টাইপ T এর প্যারামিটার নিতে পারে, এবং চেক করে যে T একটি void টাইপ কিনা।
রিটার্ন ভ্যালু
এটি একটি বুলিয়ান মান রিটার্ন করে, দেওয়া টাইপটি void টাইপ হলে true, এবং না হলে false।
উদাহরণ
Input: is_void<void>::value; Output: True Input: is_void<int>::value; Output: False
উদাহরণ
#include <iostream>
#include <type_traits>
using namespace std;
int main() {
cout << boolalpha;
cout << "checking for is_void:";
cout << "\nvoid:" << is_void<void>::value;
cout << "\nconst void:" << is_void<const void>::value;
cout << "\nint:" << is_void<int>::value;
cout << "\nchar:" << is_void<char>::value;
return 0;
}
আউটপুট
checking for is_void: Void: true Const void: true Int: false Char: false
উদাহরণ
#include <iostream>
#include <type_traits>
using namespace std;
int main() {
cout << boolalpha;
cout << "checking for is_void:";
cout << "\nDouble:" << is_void<double>::value;
cout << "\nFloat:" << is_void<float>::value;
cout << "\nvolatile void:" << is_void<volatile void>::value;
cout << "\nconst volatile void:" << is_void<const volatile void>::value;
return 0;
}
আউটপুট
checking for is_void: Double: false Float: false Volatile void: true Cost volatile void: true