gpt4 book ai didi

C++:默认参数和 vector

转载 作者:太空宇宙 更新时间:2023-11-04 14:37:12 24 4
gpt4 key购买 nike

在 C++ 中,我想要一个函数,该函数采用 vector 类型的可选参数。如果未提供参数,我希望变量的大小为 0。我目前有

void v_connect::import(vector<int> vid_,vector<double> vpos_,vector<int> vbd_,vector<int>    bd_ss_=std::vector<int>() )

但这行不通。基本上,如果用户提供可选参数 bd_ss_ 我想检查 bd_ss_.size()!=0 然后做一些额外的事情。如果用户不提供参数,我需要 bd_ss.size()==0。这可能吗?

最佳答案

无法判断可选参数是否由用户提供。但是,您可以使用重载:

void v_connect::import(
std::vector<int> vid_,
std::vector<double> vpos_,
std::vector<int> vbd_,
std::vector<int> bd_ss_)
{
check(!bd_ss_.empty());
do_extra_stuff();
do_import(vid_, cpos_, vbd_, bd_ss_);
}

void v_connect::import(
std::vector<int> vid_,
std::vector<double> vpos_,
std::vector<int> vbd_)
{
do_import(vid_, cpos_, vbd_, std::vector<int>());
}

// private:
void v_connect::do_import(
std::vector<int> vid_,
std::vector<double> vpos_,
std::vector<int> vbd_,
std::vector<int> bd_ss_)
{
// common import code goes here
}

关于C++:默认参数和 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11832134/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com