Thư viện boost có nhiều chức năng. Kiểu dữ liệu bất kỳ là một trong số chúng. Bất kỳ kiểu dữ liệu nào cũng được sử dụng để lưu trữ bất kỳ loại giá trị nào trong biến. Một số ngôn ngữ khác như javascripts, python, chúng ta có thể lấy kiểu dữ liệu kiểu này. Trong C ++, chúng ta chỉ có thể có được tính năng này bằng cách sử dụng thư viện tăng cường.
Ví dụ
#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;
}
} Đầu ra
x : 20 y: A z: Hello World a : 45.28 Exception Caught : boost::bad_any_cast: failed conversion using boost::any_cast