C++(11):模板函数的默认模板参数

C++11支持在模板函数中使用默认的模板参数

#include 
#include 
using namespace std;

template
void Size(T t = 0)
{
	cout<<"the sizeof of "<< typeid(T).name() << " is:" << sizeof(t) << endl;
}

class A{};

int main()
{
	Size();        //实例化默认模板参数,同时使用了函数的默认参数,输出:the sizeof of i is:4
	Size(1);       //实参推导模板参数,输出:the sizeof of i is:4
	Size();  //实例化模板函数,输出:the sizeof of c is:1
	Size(); //实例化模板函数,输出:the sizeof of Pv is:8

	A a;
	Size(a);       //实参推导模板参数,输出:the sizeof of 1A is:1
	Size(&a);      //实参推导模板参数,输出:the sizeof of P1A is:8
	return 0;
}

你可能感兴趣的:(C/C++,c++)