我想学习C++ 17如何初始化的std ::可选的用户定义的数据类型的
新功能,请找到下面的代码:
class Test
{
public:
Test(int x):y(x){}
~Test(){}
int getx()
{
return x;
}
private:
int x;
};
struct Container
{
std::optional<Test> test;
};
int main()
{
struct Container obj;
// here i want to initialize the member "test" of
// struct Container
obj.test = make_optional<Test>(10); ----> is this correct??
}
可有人请让我知道如何初始化一个std::optional
?例如,如果我声明如下:
std::optional<Test> t
如何初始化它?
'std :: optional'将在C++ 17中。 – Zereges
@Zereges是它的C++ 17。但我想知道如何在声明后初始化它。 – sagar
请注意,您在声明时进行初始化。在声明它之后,您只能分配给它。 – NathanOliver