কম্পিউটার

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 রেফারেন্স হয় তবে সত্য এবং প্রদত্ত মানটি একটি rvalue রেফারেন্স না হলে বা যখন আমরা একটি অজানা অবস্থান উল্লেখ করছি তখন মিথ্যা৷

উদাহরণ

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. fabs() C++ এ

  3. expm1() C++ এ

  4. log1p() C++ এ