C++零基础——C++函数的占位参数

by LauCyun Jun 18,2015 05:01:14 5,805 views

C语言中不允许使用占位参数。例如:

#include <stdio.h>
#include <stdlib.h>

//C语言不允许占位
int addx(int a, int b, int) //error C2055: 应输入形参表,而不是类型表
{
	return a + b;
}
int main()
{
	printf("%d", addx(1, 2, 3));
	system("pause");
	return 0;
}

C++中使用占位参数,例如:

#include<iostream>
#include<cstdlib>
using namespace std;

int add(int a, int b, int)
//预留参数接口,参数无法调用
{
	return a + b;
}

template<class T1, class T2, class T3>
auto show(T1 a, T2, T3 c)->decltype(a + c)//预留接口,第二个参数无法引用
{
	return a + c;
}

int main()
{
	cout << add(1, 2, 3) << endl;        //3
	cout << show(10.123, 2, 3) << endl;  //13.123
	return 0;
}

结论:CPP占位参数主要是用于预留接口。


Tags