बूस्ट लाइब्रेरी में बड़ी संख्या में कार्यात्मकताएं हैं। कोई भी डेटाटाइप उनमें से एक है। किसी भी प्रकार के मानों को वेरिएबल में स्टोर करने के लिए किसी भी डेटाटाइप का उपयोग किया जाता है। कुछ अन्य भाषाएं जैसे जावास्क्रिप्ट, पायथन, हम इस तरह के डेटाटाइप प्राप्त कर सकते हैं। 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