を初期化する方法を次のコード見つけてください:のstd ::ユーザ定義のデータ型のオプションの私はC++ 17</p> <p>の新機能を習得しようとしています
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 Yes in its C++ 17。しかし、私は宣言後にどのように初期化できるのか知りたい。 – sagar
宣言時に初期化することに注意してください。宣言した後は、それだけに割り当てることができます。 – NathanOliver