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