Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ boost::如何检查空值/未定义值_C++_Boost_Types_Null_Boost Any - Fatal编程技术网

C++ boost::如何检查空值/未定义值

C++ boost::如何检查空值/未定义值,c++,boost,types,null,boost-any,C++,Boost,Types,Null,Boost Any,我有一个boost::any对象,我想检查它的类型 typedef boost::any Value; Value a = 12; if(a.type() == typeid(int)) { std::cout << boost::any_cast<int>(a) << std::endl; } typedef boost::任意值; a值=12; 如果(a.type()==typeid(int)){ 如果没有值,std::cout将返回true

我有一个boost::any对象,我想检查它的类型

typedef boost::any Value;

Value a = 12;

if(a.type() == typeid(int)) {
    std::cout << boost::any_cast<int>(a) << std::endl;
}
typedef boost::任意值;
a值=12;
如果(a.type()==typeid(int)){
如果没有值,std::cout将返回
true

std::any has has_value()方法,我希望boost也有相同的方法。
Value b;

if(b is undefined) {
   std::cout << "b is not defined" << std::endl;
}
#include "boost/any.hpp"
#include <iostream>

int main()
{
    boost::any a = 42;
    if (!a.empty())
        std::cout << "a has a value\n";

    boost::any b;
    if (b.empty())
        std::cout << "b does not have a value\n";
}
boost::any a = 42;
std::cout << std::boolalpha << (a.type() == typeid(int)) << std::endl; // true

boost::any b;
std::cout << std::boolalpha << (b.type() == typeid(void)) << std::endl; // true