欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C++笔记 可变参数模板

程序员文章站 2024-03-14 11:18:40
...

primer C++笔记

可变参数模板

C++笔记 可变参数模板
C++笔记 可变参数模板
C++笔记 可变参数模板
sizeof…运算符
C++笔记 可变参数模板

//用来中止递归并打印最后一个元素的函数
//此函数必须在可变参数版本的print定义之前声明
template<typename T> 
ostream &print(ostream &os, const T &t)
{
	return os << t;
}

//除了最后一个元素之外的其他元素都会调用这个版本的print
template<typename T, typename... Args>
ostream &print(ostream &os, const T &t, const Args&...rest)
{
	os << t << ", ";
	return print(os, rest...);
}

void test()
{
	int i = 1; string s = "hi";
	print(cout, i, s, 42);
}

C++笔记 可变参数模板

包扩展

C++笔记 可变参数模板
C++笔记 可变参数模板
理解包扩展
C++笔记 可变参数模板

转发参数包

C++笔记 可变参数模板
C++笔记 可变参数模板
C++笔记 可变参数模板
C++笔记 可变参数模板

相关标签: C++