C++ 可变参数函数用法与template模板泛型编程

目录

1、可变参数函数

(1)定义

(2)常用使用场景

2、template模板用法


1、可变参数函数

(1)定义

可变参数函数的可变参数一般使用省略号表示,如下:

cpp 复制代码
void func(int a,...);{}

(2)常用使用场景

a> 在宏函数中使用可变参数,可以重定义输出打印函数。

cpp 复制代码
#include <iostream>
#define LOG(fmt,...) printf("hello " fmt,__VA_ARGS__)

int main()
{
    LOG("world%s! \n","");
    LOG("%s! \n","China");
    return 0;
}

运行结果如下:

也可参考下面的链接:

c/c++宏函数的定义与使用(宏定义函数)(macro definition)_c++宏定义函数_Dontla的博客-CSDN博客

整理:C/C++可变参数,"## VA_ARGS"宏的介绍和使用_##__va_args___bat67的博客-CSDN博客

C++中可变参数宏定义用法实践_c++ 宏参数_zhanghm1995的博客-CSDN博客

b> 在普通函数使用可变参数,可以适配不同的参数个数。

用法可以参考:c++中的省略号_c++省略号_万里归来少年心的博客-CSDN博客

中级C++11:定位new、default、模板可变参数包、emplace_back、lambda表达式_Kevlavik的博客-CSDN博客

c> 在线程池的任务队列中使用可变参数,可以适配不同的参数的线程任务函数。

用法可参考:基于c++11的100行实现简单线程池_c++100行程序运行_6plus的博客-CSDN博客

2、template模板用法

模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。常用的模板用法有容器(vector,map,,,,,)。

模板用法可参考:

设计模式之-模板方法模式C++实现与C++模板template用法_夜雨听萧瑟的博客-CSDN博客

C++ 模板 | 菜鸟教程 (runoob.com)

相关推荐
morning_judger1 分钟前
Agent系列(二)-记忆系统的设计
开发语言·python·机器学习
方也_arkling2 分钟前
【Java-Day02】语法篇:变量/数据类型/标识符/运算符/类型转换
java·开发语言
RSTJ_16254 分钟前
PYTHON+AI LLM DAY SIXTY-ONE
开发语言·python
zfoo-framework7 分钟前
理解kotlin limitedParallelism(1)与Actor模型
android·开发语言·kotlin
.千余16 分钟前
【C++】C++类与对象3:const成员函数与取地址运算符重载,权限管理的艺术
开发语言·c++
影寂ldy18 分钟前
C# 类和对象
开发语言·c#
丷丩21 分钟前
MapLibre GL JS第25课:添加栅格瓦片源
开发语言·javascript·gis·mapbox·maplibre gl js
QiLinkOS40 分钟前
【用呼吸重构创造价值关系——QiLink生态】
c语言·数据结构·c++·人工智能·单片机·嵌入式硬件·算法
朔北之忘 Clancy1 小时前
2026 年 3 月青少年软编等考 C 语言二级真题解析
c语言·开发语言·c++·学习·青少年编程·题解·考级
晚风予卿云月2 小时前
【前缀和】一维前缀和 & 二维前缀和
数据结构·c++·算法