Computer >> Máy Tính >  >> Lập trình >> C ++

Bất kỳ loại dữ liệu nào trong thư viện tăng cường C ++

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