C++11中的可变参数

可变参数

C++11在标准库中提供了initializer_list类,用于处理参数数量可变但类型相同的情况。使用initializer_list最常用的方式是通过大括号包围的值列表对其进行初始化:

#include<iostream>
#include<initializer_list>
using namespace std;

void showslist(initializer_list<int> m_list)
{
	for (auto p :m_list)
	{
		cout << p << endl;
	}
}

template<typename T>
void showMylist_ty(initializer_list<T> m_initialList)
{
	for (auto p :m_initialList)
	{
		cout << p << endl;
	}
	cout << "------------华丽的分割线----------------" << endl;
}
void main()
{

	cout << "*******升级之前*******:\n";
	showslist({ 1, 2, 3, 4, 5, 6 });
	cout << "------------华丽的分割线----------------"<<endl;
	initializer_list<int> vlist{ 9, 8, 7, 6 };
	showslist(vlist);
	cout << "*******升级之后*******:\n";
	showMylist_ty({ 1, 3, 4, 5 });
	showMylist_ty({ "How", "are", "you", "!" });
	system("pause");
}

结果:
在这里插入图片描述

发布了65 篇原创文章 · 获赞 6 · 访问量 1531

猜你喜欢

转载自blog.csdn.net/FairLikeSnow/article/details/103964953
今日推荐