কম্পিউটার

C++-এ is_trivial ফাংশন


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

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

C++ এ একটি তুচ্ছ ক্লাস টাইপ কি?

আমরা একটি টাইপকে তুচ্ছ টাইপ হিসাবে বলি, যখন এর ডেটা সংরক্ষিত পদ্ধতিতে সংরক্ষণ করা হয় এবং যা শুধুমাত্র স্ট্যাটিক ডিফল্ট ইনিশিয়ালাইজেশন গ্রহণ করে। এটি যেকোনো ধরনের, ক্লাস এবং স্কেলার টাইপের অ্যারে অন্তর্ভুক্ত করতে পারে।

তুচ্ছ ক্লাস হল এমন একটি শ্রেণী যা তুচ্ছভাবে ডিফল্ট নির্মিত এবং তুচ্ছভাবে অনুলিপিযোগ্য। একটি ক্লাসকে তুচ্ছ −

করার সময় কিছু পয়েন্ট আছে যা যত্ন নেওয়া উচিত
  • এতে অবশ্যই কোনো ভার্চুয়াল সদস্য বা ভার্চুয়াল বেস ক্লাস থাকবে না।
  • কোন নন স্ট্যাটিক সদস্য।
  • নন-স্ট্যাটিক সদস্যদের সাথে কোন বেস ক্লাস নেই

সিনট্যাক্স

template <class T> is_trivial;

পরামিতি

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

রিটার্ন মান

এটি একটি বুলিয়ান মান প্রদান করে, যদি প্রদত্ত টাইপটি একটি তুচ্ছ ক্লাস টাইপ হয় তবে সত্য এবং প্রদত্ত টাইপটি একটি তুচ্ছ শ্রেণির প্রকার না হলে মিথ্যা৷

উদাহরণ

Input: class A {};
   class B { B() {} };
   class D { virtual void fn() {} };
   cout<<”A: ”<<is_trivial<A>;
   cout<<”B: ”<<is_trivial<B>;
   cout<<”D: ”<<is_trivial<D>;
Output:
A: True
B: False
D: False

উদাহরণ

#include <iostream>
#include <type_traits>
using namespace std;
class TP_1 {
};
class TP_2 {
   TP_2(){
   }
};
class TP_3 : TP_2 {
};
class TP_4 {
   virtual void dummy() {
   }
};
int main() {
   std::cout << std::boolalpha; //Returns value in boolean type
   std::cout << "TP_1: " << std::is_trivial<TP_1>::value << endl;
   std::cout << "TP_2: " << std::is_trivial<TP_2>::value << endl;
   std::cout << "TP_3: " << std::is_trivial<TP_3>::value << endl;
   std::cout << "TP_4: " << std::is_trivial<TP_4>::value << endl;
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
TP_1: true
TP_2: false
TP_3: false
TP_4: false

  1. C++ এ log() ফাংশন

  2. C++ এ স্থানীয় ক্লাস

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

  4. C++ এ ফ্রেন্ড ক্লাস এবং ফাংশন