কম্পিউটার

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


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

is_ fundamental হল একটি টেমপ্লেট যা হেডার ফাইলের অধীনে আসে। এই টেমপ্লেটটি প্রদত্ত টাইপটি একটি মৌলিক ডেটা টাইপ কিনা তা পরীক্ষা করতে ব্যবহৃত হয়।

মৌলিক প্রকার কি?

মৌলিক প্রকারগুলি হল অন্তর্নির্মিত প্রকার যা ইতিমধ্যেই কম্পাইলারেই ঘোষণা করা হয়েছে। যেমন int, float, char, double, ইত্যাদি। এগুলি বিল্ট-ইন ডেটা প্রকার হিসাবেও পরিচিত।

সমস্ত ডেটা প্রকার যা ব্যবহারকারী দ্বারা সংজ্ঞায়িত করা হয় যেমন:ক্লাস, এনাম, স্ট্রাকট, রেফারেন্স বা পয়েন্টার, মৌলিক প্রকারের অংশ নয়৷

সিনট্যাক্স

template <class T> is_fundamental;

পরামিতি

টেমপ্লেটে শুধুমাত্র T টাইপের প্যারামিটার থাকতে পারে এবং প্রদত্ত টাইপটি চূড়ান্ত ক্লাস টাইপ কিনা তা পরীক্ষা করে দেখুন।

রিটার্ন মান

এটি একটি বুলিয়ান মান প্রদান করে, যদি প্রদত্ত টাইপটি মৌলিক ডেটা টাইপ হয় তবে সত্য এবং প্রদত্ত টাইপটি মৌলিক ডেটা টাইপ না হলে মিথ্যা।

উদাহরণ

Input: class final_abc;
   is_fundamental<final_abc>::value;
Output: False

Input: is_fundamental<int>::value;
Output: True

Input: is_fundamental<int*>::value;
Output: False

উদাহরণ

#include <iostream>
#include <type_traits>
using namespace std;
class TP {
   //TP Body
};
int main() {
   cout << boolalpha;
   cout << "checking for is_fundamental:";
   cout << "\nTP: "<< is_fundamental<TP>::value;
   cout << "\nchar :"<< is_fundamental<char>::value;
   cout << "\nchar& :"<< is_fundamental<char&>::value;
   cout << "\nchar* :"<< is_fundamental<char*>::value;
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
checking for is_fundamental:
TP: false
char : true
char& : false
char* : false
পরীক্ষা করা হচ্ছে

উদাহরণ

#include <iostream>
#include <type_traits>
using namespace std;
int main() {
   cout << boolalpha;
   cout << "checking for is_fundamental:";
   cout << "\nint: "<< is_fundamental<int>::value;
   cout << "\ndouble :"<< is_fundamental<double>::value;
   cout << "\nint& :"<< is_fundamental<int&>::value;
   cout << "\nint* :"<< is_fundamental<int*>::value;
   cout << "\ndouble& :"<< is_fundamental<double&>::value;
   cout << "\ndouble* :"<< is_fundamental<double*>::value;
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
checking for is_fundamental:
int: true
double : true
int& : false
int* : false
double& : false
double* : false
পরীক্ষা করা হচ্ছে
  1. C++ এ টেমপ্লেট মেটাপ্রোগ্রামিং

  2. fabs() C++ এ

  3. expm1() C++ এ

  4. log1p() C++ এ