【发布时间】:2019-05-10 08:46:06
【问题描述】:
我不清楚通过引用将可选的整数向量传递给函数的正确代码是:
void test_func(std::optional<std::vector<int>&> vec)
或
void test_func(std::optional<std::vector<int>>& vec)
非常感谢任何帮助。
【问题讨论】:
-
第二个。
-
这里的用例是什么?如果不需要修改向量,则可以通过 const 引用传递并使用默认参数。
-
考虑两个重载函数,一个不带参数,另一个通过引用获取向量。有时,最简单的解决方案往往是最干净的。
-
既然你不能有可选的参考,不应该有任何缺乏明确性。
-
这是不好的使用 optional 使你的代码不可读
标签: c++ std c++17 stdoptional