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

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

এই আর্টিকেলে আমরা C++ STL-এ std::is_rvalue_reference টেমপ্লেটের কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব। C++-এ is_rvalue_reference টেমপ্লেটটি ব্যবহার করা হয় ডিফাইন করা টাইপটি একটি rvalue রেফারেন্স কিনা তা চেক করার জন্য।

rvalue কী?

Rvalues হলো মানগুলো যা অ্যাসাইনমেন্ট অপারেটরের ডান পাশে থাকে। Rvalues হলো মান...

rvalue রেফারেন্স কী?

Rvalue রেফারেন্স ডবল অ্যাম্পারস্যান্ড সিম্বল (&&) দ্বারা চিহ্নিত করা হয়। এটি শুধুমাত্র rvalue মান দিয়ে ইনিশিয়ালাইজ করতে ব্যবহৃত হয়।

সিনট্যাক্স

int&& a;

সিনট্যাক্স

template <class T> is_rvalue_reference;

প্যারামিটারস

টেমপ্লেটটি শুধুমাত্র একটি প্যারামিটার টাইপ T নিতে পারে, এবং চেক করে যে দেওয়া টাইপটি একটি rvalue রেফারেন্স কিনা।

রিটার্ন ভ্যালু

এটি একটি বুলিয়ান মান রিটার্ন করে, দেওয়া মানটি rvalue রেফারেন্স হলে true, এবং দেওয়া মানটি rvalue রেফারেন্স না হলে বা অজানা লোকেশন রেফারেন্স করার সময় false।

উদাহরণ

Input: is_rvalue<int&>::value; Output: False
Input: is_rvalue<int&&>::value; Output: True

উদাহরণ

#include <iostream>
#include <type_traits>
using namespace std;

int main() {
    cout << std::boolalpha;
    cout << "Checking for is_lvalue_reference: ";
    cout << "\nint : " << is_rvalue_reference<int>::value;
    cout << "\nint& : " << is_rvalue_reference<int&>::value;
    cout << "\nint&&: " << is_rvalue_reference<int&&>::value;
    cout << "\nchar : " << is_rvalue_reference<char>::value;
    cout << "\nchar& : " << is_rvalue_reference<char&>::value;
    cout << "\nchar&&: " << is_rvalue_reference<char&&>::value;
    cout << "\nfloat : " << is_rvalue_reference<float>::value;
    cout << "\nfloat& : " << is_rvalue_reference<float&>::value;
    cout << "\nfloat&&: " << is_rvalue_reference<float&&>::value;
    cout << "\ndouble : " << is_rvalue_reference<double>::value;
    cout << "\ndouble& : " << is_rvalue_reference<double&>::value;
    cout << "\ndouble&&: " << is_rvalue_reference<double&&>::value;
    return 0;
}

আউটপুট

Checking for is_rvalue_reference:
int : false
int& : false
int&&: ture
char : false
char& : false
char&&: ture
float : false
float& : false
float&&: ture
double: false
double : false
double&&: ture

উদাহরণ

#include <iostream>
#include <type_traits>
using namespace std;

class TP { };

int main() {
    cout << std::boolalpha;
    cout << "Checking for is_lvalue_reference: ";
    cout << "\nTP class : " << is_rvalue_reference<TP>::value;
    cout << "\nTP& : " << is_rvalue_reference<TP&>::value;
    cout << "\nTP&&: " << is_rvalue_reference<TP&&>::value;
    return 0;
}

আউটপুট

Checking for is_rvalue_reference:
TP class : false
TP& : false
TP&&: true
  1. C++-এ টেমপ্লেট মেটাপ্রোগ্রামিং

  2. C++-এ fabs() ফাংশন

  3. C++-এ expm1() ফাংশন

  4. C++-এ log1p() ফাংশন