C++可变模板参数中&&和&的使用
2016-09-02 11:41
656 查看
template<typename T> void tbLog(T& t) { cout << t << endl; } //void tbLog() template<typename T, typename... Args> void tbLog(T& t, Args&&... args) { cout << t; tbLog(args...); }
此段代码用了&&,所以使用tbLog( 2, “xx”, 1.f, " ", 444); 是可以的
template<typename T> void tbLog(T& t) { cout << t << endl; } //void tbLog() template<typename T, typename... Args> void tbLog(T& t, Args&... args) { cout << t; tbLog(args...); }
此段代码用的是&,所以使用tbLog( 2, “xx”, 1.f, " ", 444)时,会出现编译错误。
这个区别应该就是右值引起的差别。其中2 1.f 444都是右值,是不能作为引用&参数。
相关文章推荐
- c++模板特性---------可变参数的使用
- C++ Has Become More Pythonic ( tuple & 可变模板参数 )
- C/C++ 使用可变参数 & 原理
- C/C++里面使用的可变参数函数
- C,C++中使用可变参数
- C++可变参数编程,va_start va_arg va_end 的使用和原理
- C++可变参数列表处理宏va_list、va_start、va_end的使用
- C++可变参数的函数与模板实例分析
- 今天学习了关于C++ 中可变参数个数函数的使用!
- C++&nbsp;模板使用介绍
- C++学习之可变参数的函数与模板
- C++ - 非类型模板参数(nontype template parameters) 使用 及 代码
- C/C++中使用可变参数
- C++11 tuple & 可变模板参数
- C++学习之可变参数的函数与模板
- C,C++中使用可变参数
- C,C++中使用可变参数
- C,C++中使用可变参数
- [转载]C/C++可变参数之va_start和va_end使用详解
- 可变参数的使用(C++和C#实现)