এই নিবন্ধে আমরা C++ STL-এ std::is_pointer টেমপ্লেটের কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
is_ pointer হল একটি টেমপ্লেট যা
পয়েন্টার কি?
পয়েন্টার হল নন-স্ট্যাটিক টাইপ যা অন্য ধরনের ঠিকানা ধারণ করে বা অন্য কথায় যা মেমরি পুলের কিছু মেমরি অবস্থান নির্দেশ করে। একটি তারকাচিহ্ন (*) এর সাহায্যে আমরা একটি পয়েন্টারকে সংজ্ঞায়িত করি এবং যখন আমরা নির্দিষ্ট মেমরিটি উল্লেখ করতে চাই যা পয়েন্টারটি ধারণ করে তখন আমরা তারকাচিহ্ন (*) ব্যবহার করি।
এগুলি এমন একটি প্রকার যা শূন্য হিসাবে শুরু করা যেতে পারে এবং পরে প্রয়োজন অনুসারে টাইপ পরিবর্তন করতে পারে৷
সিনট্যাক্স
template <class T> is_pod;
পরামিতি
টেমপ্লেটে শুধুমাত্র T টাইপের প্যারামিটার থাকতে পারে এবং প্রদত্ত টাইপটি পয়েন্টারর নয় কিনা তা পরীক্ষা করে দেখুন।
রিটার্ন মান
এটি একটি বুলিয়ান মান প্রদান করে, প্রদত্ত টাইপটি পয়েন্টার ভেরিয়েবল হলে সত্য এবং প্রদত্ত টাইপটি পয়েন্টার না হলে মিথ্যা।
উদাহরণ
Input: is_pointer<int>::value; Output: False Input: is_pointer<int*>::value; Output: True
উদাহরণ
#include <iostream> #include <type_traits> using namespace std; class TP{ }; int main() { cout << boolalpha; cout << "checking for is_pointer:"; cout << "\nTP: " << is_pointer<TP>::value; cout << "\nTP*: " << is_pointer<TP*>::value; cout << "\nTP&: " << is_pointer<TP&>::value; cout << "\nNull Pointer: "<< is_pointer<nullptr_t>::value; return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেchecking for is_pointer: TP: false TP*: true TP&: false Null Pointer: false
উদাহরণ
#include <iostream> #include <type_traits> using namespace std; int main() { cout << boolalpha; cout << "checking for is_pointer:"; cout << "\nint: " << is_pointer<int>::value; cout << "\nint*: " << is_pointer<int*>::value; cout << "\nint **: " << is_pointer<int **>::value; cout << "\nint ***: "<< is_pointer<int ***>::value; return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেchecking for is_pointer: int: false int*: true Int **: true Int ***: trueপরীক্ষা করা হচ্ছে