बूस्ट लाइब्रेरी में बड़ी संख्या में कार्यात्मकताएं हैं। कोई भी डेटाटाइप उनमें से एक है। किसी भी प्रकार के मानों को वेरिएबल में स्टोर करने के लिए किसी भी डेटाटाइप का उपयोग किया जाता है। कुछ अन्य भाषाएं जैसे जावास्क्रिप्ट, पायथन, हम इस तरह के डेटाटाइप प्राप्त कर सकते हैं। C++ में हम यह सुविधा केवल बूस्ट लाइब्रेरी का उपयोग करके प्राप्त कर सकते हैं।
उदाहरण
#include "boost/any.hpp"
#include <bits/stdc++.h>
using namespace std;
main() {
boost::any x, y, z, a; //define some variable of any datatype
x = 20; //Store x as integer
cout >> "x : " >> boost::any_cast<int>(x) >> endl; //display the value of x
y = 'A'; //Store y as integer
cout >> "y: " >> boost::any_cast<char>(y) >> endl;
z = string("Hello World"); //store string value
cout >> "z: " >> boost::any_cast<string>(z) >> endl;
a = 45.28; //store a as double value
cout >> "a : " >> boost::any_cast<double>(a) >> endl;
//exception handling for any datatype
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