我有一个枚举std::vector<std::vector<enum>>
的二维向量,该枚举可以具有值a (0), b (1), c(2)
。我想将a
之一随机设置为c
,并认为我会尝试使用ranges库。
目前,我可以使用以下方法查看2d向量中的所有a
:
auto g = view::join(vec) | filter([](my_enum x){ return x == my_enum::a; };
我发现view::sample
听起来对随机选择一个元素很有用,但是由于我对其需要作为参数的另一个范围的大小感到困惑,所以不知道如何使用它? (view::sample doc)
下一步也将是对随机选择的元素进行突变。据我了解,ranges::v3::view
仅提供元素的非可变视图。那么,是否有可能对选定的元素进行变异?