C++11: variadic template
2015-12-18 10:05
337 查看
#include <iostream> #include <string> template <typename T, typename... Args> void foo(const T &t, const Args& ... rest) { std::cout << sizeof...(Args) << std::endl; std::cout << sizeof...(rest) << std::endl; } template <typename T> std::ostream &print(std::ostream &os, const T &t) { return os << t; } template <typename T, typename... Args> std::ostream &print(std::ostream &os, const T &t, const Args&... rest) { os << t << " "; return print(os, rest...); } int main() { int i = 0; double d = 3.14; std::string s = "how row brown cow"; foo(i, s, 42, d); foo(s, 42, "hi"); foo(d, s); foo("hi"); print(std::cout, i, s, 42); std::cout << "\n"; return 0; }
// variadic template // C++ Primer 5th(p.701) // g++ xx.cpp -std=c++11 // gcc 4.9.2
相关文章推荐
- 【C++ STL应用与实现】86: 如何使用std::accumulate
- 错误:unrecognized command line option “-std=c++11”
- 第十一周项目1 - 二叉树算法验证.cpp
- C++利用gSoap发布WebService
- 第十周项目3 - 利用二叉树遍历思想解决问题.cpp
- 第十周项目2 - 二叉树遍历的递归算法.cpp
- 第十周项目1 - 二叉树算法库.cpp
- VC++中用API调用对话框资源
- C++(简单工厂)
- CPP-static members
- codeblocks 打开cpp文件空白
- 0-1背包问题.(c++版)
- C 语言的数据,常量和变量
- 帮 C/C++ 程序员彻底了解链接器
- c++将基本类型转为字符串写入文件
- 实战c++中的vector系列--vector<unique_ptr<>>赋值给vector<unique_ptr<>>
- vs2013报错 无法打开包含文件 "winsock2.h" 的一种解决办法
- 实战c++中的vector系列--vector<unique_ptr<>>赋值给vector<unique_ptr<>>
- 程序设计C语言-静态链表及指针
- C语言 malloc