【发布时间】:2022-01-19 10:16:49
【问题描述】:
我有一个成员变量,它是结构向量类型,定义为 std::optional,那么我如何访问结构内的成员。
例子:
std::optional<std::vector<demoStruct>> mem_variable;
struct demoStruct
{
int a;
float b;
};
那么我如何使用 mem_variable 访问“a”和“b”;
【问题讨论】:
-
首先您必须确保
mem_variable确实有一个值(毕竟它是 可选的)。然后你必须弄清楚你想要哪个向量元素。然后像任何其他结构一样打印该元素的值。 -
请注意,在您的代码中,vector 是可选的,而不是矢量内的值。这通常是没有意义的。也许你想要一个可选值的向量(比如
std::vector<std::optional<demoStruct>>)? -
你知道如何访问
optional中的值吗?你知道如何访问vector的元素吗?您在文档中没有找到哪个部分?你有没有尝试过?
标签: c++ struct stdvector stdoptional