কম্পিউটার

C++ এ is_lvalue_reference টেমপ্লেট


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

C++-এ is_lvalue_reference টেমপ্লেটটি সংজ্ঞায়িত প্রকারটি একটি lvalue রেফারেন্স কিনা তা পরীক্ষা করতে ব্যবহৃত হয়।

একটি মান কি?

Lvalues ​​হল সেই মান যা একটি অ্যাসাইনমেন্ট অপারেটরের বাম দিকে থাকে। Lvalues ​​হল সেই অভিব্যক্তি যা মেমরির অবস্থানকে নির্দেশ করে।

Lvalue রেফারেন্স কি?

Lvalue রেফারেন্স হল একটি রেফারেন্স যা একটি lvalue এর সাথে আবদ্ধ হয়। আমরা যেভাবে প্রথাগত C++ বা C ভাষায় একটি ভেরিয়েবলকে উল্লেখ করতাম, তার সাথে অনেকটা একই রকম, যেমন অ্যাম্পারস্যান্ড চিহ্ন (&) ব্যবহার করে ভেরিয়েবলের সাথে এর ঠিকানা উল্লেখ করতে।

উদাহরণ

int& a;

সিনট্যাক্স

template <class T> is_lvalue_reference;

পরামিতি

টেমপ্লেটটিতে শুধুমাত্র T টাইপের প্যারামিটার থাকতে পারে এবং প্রদত্ত টাইপটি একটি lvalue রেফারেন্স কিনা তা পরীক্ষা করে দেখুন

রিটার্ন মান

এটি একটি বুলিয়ান মান প্রদান করে, যদি প্রদত্ত মানটি lvalue রেফারেন্স হয় তবে সত্য, এবং প্রদত্ত মানটি একটি lvalue রেফারেন্স না হলে বা যখন আমরা একটি অজানা অবস্থানে উল্লেখ করছি তখন মিথ্যা হয়

উদাহরণ

Input: is_lvalue<int &>::value;
Output: True

Input: is_lvalue<int>::value;
Output: False

উদাহরণ

#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_lvalue_reference<TP>::value;
   cout << "\nTP& : "<< is_lvalue_reference<TP&>::value;
   cout << "\nTP&&: "<< is_lvalue_reference<TP&&>::value;
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Checking for is_lvalue_reference:
TP class : false
TP& : true
TP&&: false

উদাহরণ

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

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Checking for is_lvalue_reference:
int : false
int& : true
int&&: false
char : false
char& : true
char&&: false
float : false
float& : true
float&&: false
double: false
double : true
double&&: false

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

  2. fabs() C++ এ

  3. expm1() C++ এ

  4. log1p() C++ এ