如何为方法中的向量设置默认值

Pav*_*avi 5 c++

我有一个场景,我需要将一个向量添加为现有遗留代码的输入/输出[reference]参数.为了避免任何错误,我需要将其设为默认参数.

有人可以建议如何将向量作为默认参数添加到方法.如果可能的话我真的很怀疑.此外,如果这是可能的,那么矢量应该用什么样的价值?

qua*_*dev 5

我建议重载方法:

void foo(double otherParameter);
void foo(double otherParameter, std::vector<int>& vector);

inline void foo(double otherParameter)
{
    std::vector<int> dummy;
    foo(otherParameter, dummy);
}
Run Code Online (Sandbox Code Playgroud)

另一种设计,明确表示这vector是一个选项输入/输出参数,是:

void foo(double parameter, std::vector<int>* vector = 0);
Run Code Online (Sandbox Code Playgroud)

是的,一个原始指针 - 我们没有取得它的所有权,因此不需要智能指针.