带有单个模板参数的`std::variant`的目的是什么?
在此页面上的示例中:https : //en.cppreference.com/w/cpp/utility/variant有一个std::variant带有单个模板参数:
std::variant<std::string> x("abc");
由于变体允许存储可以属于一组不同类的对象,那么前一行的目的是什么?它不应该与:
std::string x("abc");
回答
它的目的是证明std::variant可以使用变体类型的转换构造函数之一,只要它是明确的。
通过使用该示例可能会更好一些
std::variant<std::string, int> x("abc");
相反,为了更清楚地展示这一点。