কম্পিউটার টিউটোরিয়াল

C++-এ is_void টেমপ্লেট

এই আর্টিকেলে আমরা 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
  1. C++-এ টেমপ্লেট স্পেশালাইজেশন

  2. C++-এ টেমপ্লেট মেটাপ্রোগ্রামিং

  3. C++-এ void ফাংশন থেকে রিটার্ন (Return from void functions in C++)

  4. C++ ডিফল্ট কনস্ট্রাক্টর (Default Constructor)