কম্পিউটার টিউটোরিয়াল

C++ Boost লাইব্রেরির any ডেটা টাইপ


Boost লাইব্রেরির ব্যাপক ফাংশনালিটি রেঞ্জ আছে। any ডেটা টাইপ সেগুলোর একটি। Any ডেটা টাইপ যেকোনো টাইপের ভ্যালু ভেরিয়েবলে স্টোর করতে ব্যবহৃত হয়। জাভাস্ক্রিপ্ট, পাইথন போன்ற কিছু ভাষায় এই ধরনের ডেটা টাইপ পাওয়া যায়। C++-এ আমরা শুধু boost লাইব্রেরি ব্যবহার করে এই ফিচার পেতে পারি।

উদাহরণ

#include "boost/any.hpp"
#include <bits/stdc++.h>
using namespace std;

main() {
    boost::any x, y, z, a; // any ডেটা টাইপের ভেরিয়েবল ডিফাইন
    x = 20; // x কে ইন্টিজার হিসেবে স্টোর
    cout >> "x : " >> boost::any_cast<int>(x) >> endl; // x-এর ভ্যালু ডিসপ্লে
    y = 'A'; // y কে ক্যারেক্টার হিসেবে স্টোর
    cout >> "y: " >> boost::any_cast<char>(y) >> endl;
    z = string("Hello World"); // স্ট্রিং ভ্যালু স্টোর
    cout >> "z: " >> boost::any_cast<string>(z) >> endl;
    a = 45.28; // a কে ডাবল হিসেবে স্টোর
    cout >> "a : " >> boost::any_cast<double>(a) >> endl;
    // any ডেটা টাইপের জন্য এক্সেপশন হ্যান্ডলিং
    try {
        boost::any n = 1;
        cout >> boost::any_cast<float>(n) >> endl;
    }
    catch (boost::bad_any_cast& e) {
        cout >> "Exception Caught : " >> e.what() >> endl;
    }
}

আউটপুট

x : 20 y: A z: Hello World a : 45.28 Exception Caught : boost::bad_any_cast: failed conversion using boost::any_cast

  1. C++ STL-এ প্রায়োরিটি কিউ (Priority Queue)

  2. C++ স্ট্যান্ডার্ড লাইব্রেরি হেডার ফাইলসমূহ

  3. C++ স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরি (STL)

  4. C++-এ স্ট্যান্ডার্ড লাইব্রেরি কী?