繁体   English   中英

列表引用的默认参数

[英]Default parameter for a list reference

在C ++中,如何为函数中的列表引用指定默认值?

void fun(
  std::list<My_Object *> &the_list,
  int n = 4
) 

如果它是一个简单的引用,那么你唯一默认的是一个有效的左值,它可能是不可用的。 但如果它是对const的引用,你可以将它默认为一个空列表,如下所示:

void fun(
  std::list<My_Object *> const & the_list = std::list<My_Object *>(),
  int n = 4
) 

如果您有一个名为a的列表,该列表在声明站点上可用,那么就像这样

void fun(
      std::list<My_Object *> & the_list = a,
      int n = 4
    ) 

但要注意,这样的a名单仍然“活着”,当你调用函数

在C ++中,如何为函数中的列表引用指定默认值?

在你的情况下,我不会。 重载函数以便可以在没有列表的情况下调用它,或者为每个指针获取参数 ,以便用户可以传递NULL指针。

我非常喜欢超载。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM