一 可变参数函数
有时候我们传递的参数是不固定的。
这种能接受非固定个数参数的函数就是可变参数函数
怎么实现呢?就要用到 initializer_list 标准库类型
该类型能够使用的前提条件是:所有的实参类型相同。
二,initializer_list(初始化列表) C++11的类模版
如果一个函数,它的实参数量不可预知,但是所有参数的类型相同,我们就可以使用这个initializer_list 类型的形参来接收
我们把 initializer_list 理解成某种类型值的数组。
这个类模版里面指定的类型模版参数就是数组里保存的数据的类型
需要包含 #include <initializer_list> 头文件 或者 iostream
要注意的是 initializer_list<int >myarray 中的元素永远都是常量值。不能被改变。
1. 基本方法 :begin(), end()遍历,size()获取元素个数
void func150(initializer_list<int> myarray) {
//遍历形参,类似于迭代器的遍历
for (auto iter = myarray.begin(); iter != myarray.end();++iter) {
cout << " " << * iter ;
}
cout << endl;
cout << "myarray.size = " << myarray.size() << endl;
}
void func151(initializer_list<string> myarraystr

本文介绍了如何在C++中实现可变参数函数,重点讲解了std::initializer_list的作用、用法,包括其作为数组替代、遍历以及在构造函数中的应用。同时提到了省略号形参的局限性及其替代方案。
最低0.47元/天 解锁文章
1593

被折叠的 条评论
为什么被折叠?



