C++不定参数列表函数

 一、介绍

        在程序编写过程中,有的时候会希望一个函数参数列表不定,可以输入任意类型、任意个数的参数。C++11的新特性可以实现这个功能。

二、程序

1、关键功能说明

(1)初始化任意个数的列表,使用逗号语句实现将函数执行

(void)std::initializer_list<int> {(---, 0)...};

2、代码

#include <iostream>
using namespace std;

int fun(int n, int data) {
	cout << "Num: " << n << " Type Int Data: " << data << endl;
	return 0;
}
int fun(int n, double data) {
	cout << "Num: " << n << " Type Double Data: " << data << endl;
	return 0;
}
int fun(int n, string data) {
	cout << "Num: " << n << " Type String Data: " << data << endl;
	return 0;
}

template <typename... Arguments>
void TestFun(string strData, Arguments &&...args) {
	cout << strData << " Begin" << endl;
	int nCount = 1;
	(void)std::initializer_list<int> {(fun(nCount++, std::forward<Arguments>(args)), 0)...};
	cout << strData << " End" << endl;
}

int main() {
	TestFun("Arguments Test", 2, 2.2, "abcd");
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值