直接看代码:

#include <iostream>
#include <sstream>
#include <string>// 可变参数终结
template <typename T>
std::string ArgString(const T& t)
{std::stringstream ss;ss << t;return ss.str();
}// 可变参数递归展开
template <typename T, typename... Arg>
std::string ArgString(const T& t, Arg&&... arg)
{std::stringstream ss;ss << t;return ss.str() + ArgString(std::forward<Arg>(arg)...);
}

使用很简单:

auto str = ArgString("猪肉", 10, "块钱一斤!");
std::cout << str << std::endl;

输出:

可变参数模板实现可变参数字符串一定程度替代sprintf相关推荐

  1. c 语言 可变参数前要加形参,C/C++中可变参数的用法详细解析

    可变参数即表示参数个数可以变化,可多可少,也表示参数的类型也可以变化,可以是int,double还可以是char*,类,结构体等等.可变参数是实现printf(),sprintf()等函数的关键之处, ...

  2. C,C++中使用可变参数

    可变参数即表示参数个数可以变化,可多可少,也表示参数的类型也可以变化,可以是int,double还可以是char*,类,结构体等等.可变参数是实现printf(),sprintf()等函数的关键之处, ...

  3. C 语言的可变参数类型 stdarg

    va_list/va_start/va_arg/va_end这几个宏,都是用于函数的可变参数的. 我们来看看在vs2008中,它们是怎么定义的: 1: ///stdarg.h2: #define va ...

  4. 探究C/C++可变参数

    C/C++支持可变参数个数的函数定义,这一点与C/C++语言函数参数调用时入栈顺序有关, 首先引用其他网友的一段文字,来描述函数调用,及参数入栈: ------------ 引用开始 -------- ...

  5. 代码模板在哪里_C++的可变参数模板

    背景 一切都从函数传参开始说起.我们知道,在C语言中有个神奇的函数:printf: printf("%s : %dn","gemfield number",70 ...

  6. JavaSE——面向对象高级(继承、final关键字、抽象类与接口、多态、Object类、内部类、包装类、可变参数)

    第3节 面向对象高级 一.继承 1.1 概述和使用 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类.继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法 ...

  7. 在C/C++函数中使用可变参数

    原文链接地址:http://blog.csdn.net/djinglan/article/details/8425768 下面介绍在C/C++里面使用的可变参数函数. 先说明可变参数是什么,先回顾一下 ...

  8. C++11特性——可变参数

      在传统的C和C++中,函数形参和实参的个数不仅需要保持一致,而且需要显式定义出来,是固定的.在C++11中增加了可变参数这种特性,这篇文章就学习下C++11的可变参数.   C++11的可变形参提 ...

  9. 可变参数实现工厂模式

    背景 最近在看webrtc的代码,看到音视频编解码器的创建部分,使用了c++11的可变参数模板,实现了编解码器的工厂模式,觉得挺有意思的分享一下.下文中的例子对webrtc的代码做了精简,抽取了与本文 ...

最新文章

  1. kvo实现原理_KVC、KVO实现原理
  2. Science:一种新型玻璃,有望让手机告别碎屏!
  3. Java开发中Websocket的技术选型参考
  4. redmine + git
  5. android按钮固定尺寸,如何在android中保持按钮的固定宽高比
  6. CTF基本赛制与题型
  7. JTS(Geometry)工具类
  8. 10.66道经典的Java基础面试题集锦为何晴空
  9. linux 服务器网络有关的内核参数
  10. 视频播功能及画面协同操作注意事项
  11. 如何选择适合自己的 Linux 发行版
  12. Ubuntu16.04在Wine-3.0平台安装最新版TIM(QQ),不折腾那些没用的!
  13. 【Java性能调优】(性能调优流程)从系统评估到性能调优
  14. win7 使用扫描仪扫描照片
  15. Google的恶搞新闻联播
  16. 信息隐藏——DCT隐写
  17. 学习数据结构的意义和作用
  18. PMP考前冲刺2.20 | 2023新征程,一举拿证
  19. php从气象局获取天气预报并保存到服务器
  20. free ebooks: http://stackoverflow.com/questions/194812/list-of-freely-available-programming-books

热门文章

  1. 设计模式初探-观察者模式
  2. 【076】朴素贝叶斯介绍
  3. 编写一个Python程序,计算任意圆锥体的体积和表面积。
  4. 大学计算机实验报告虚拟机,1虚拟机安装和使用实验报告书
  5. 搜狗输入法中英文都默认使用英文标点设置
  6. 基于单片机的超市收银机
  7. proface普洛菲斯触摸屏维修GP4601TAA PFXGP4601TAA及故障处理
  8. Docker配置mc服务器
  9. 《计算机网络 自顶向下方法》答案(第八章)(重制版)
  10. HDU 4009 Transfer water (最小树形图+虚根)