0 c++ function vector optional-parameters
在C++中,我想要一个带有vector类型的可选参数的函数.如果没有提供参数,我希望变量的大小为0.我目前有
void v_connect::import(vector<int> vid_,vector<double> vpos_,vector<int> vbd_,vector<int> bd_ss_=std::vector<int>() )
Run Code Online (Sandbox Code Playgroud)
但这不起作用.基本上,如果用户提供可选参数,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
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1019 次 |
| 最近记录: |