类型函数(type function)

在C和C++中,我们常见的是值函数(value function),即函数接收的参数是某些值,而且函数的返回结果也是值。

至于类型函数(type function),即函数接收某些类型的实参,并生成一个类型作为函数的返回结果。

例子:

1、内建函数sizeof就是一个类型函数,它返回一个描述给定类型实参大小的常量。

2、类模板也可以作为类型函数。类型函数的参数可以是模板的参数,类型函数的返回结果可以是类模板的成员类型或者成员变量。

#include 
#include 

using namespace std;

template
struct TypeSize
{
	static size_t const value = sizeof(T);
};

int main(int argc, char **argv)
{
	cout << "TypeSize::value = " << TypeSize::value << endl;

	return 0;
}

输出结果:

TypeSize::value = 4

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