August 2021
Intermediate to advanced
450 pages
5h 35m
Chinese
类型函数(type function)是编译时求值的函数,它接受一个类型作为实参或者返回一个类型作为结果。标准库提供了大量的类型函数来帮助库的实现者(以及普通程序员)在编写代码时充分利用语言、标准库以及普通代码的优点。
对于数字类型来说,<limits>中的numeric_limits提供了很多有用的信息(参见14.7节)。例如:
与之类似,我们可以使用内置的sizeof运算符(参见1.4节)获取对象的大小。例如:
这种函数是C++编译时计算机制的一部分,它允许更紧的类型检查和更好的性能,这在其他情况下是很难达到的。使用这些特性通常被称为元编程(metaprogramming)或模板元编程(template metaprogramming)(当使用模板时)。在本节中,我只介绍标准库提供的两种设施:iterator_traits(13.9.1节)和类型谓词(13.9.2节)。概念(参见7.2节)令这类技术中的某些变得多余,并令其余很多变得简化,但概念还不是C++标准,也不是很容易获取,因此本节介绍的技术还在广泛使用中。
Read now
Unlock full access