2016-04-26 29 views
2

如何uninitialize std :: experimental :: optional?如何uninitialize std :: experimental ::可选

std::experimental::optional<std::string> name; 

    name = std::string("hello"); //how to uninitialize name? 

    if(name) 
    { 
    std::cout << "name is set" << std::endl; 
    } 
    else 
    { 
    std::cout << "name is not set" << std::endl; 
    } 

我该如何击中else分支?

+1

我很难理解你想要什么。你是否想要执行if和else块,或者你想“空”出'name',所以只有else块运行? – NathanOliver

+0

我想取消初始化名称。 – user3828398

回答

3
name = std::experimental::nullopt; 

link

的std ::实验:: nullopt是类型为std ::实验:: nullopt_t是,用于指示可选类型与未初始化状态的一个常数。

相关问题