C++ 中的类型函数与策略特性
1. 类型函数简介
在 C 和 C++ 中,通常的函数是值函数,它们接收一些值作为参数,并返回另一个值作为结果。而模板引入了类型函数的概念,类型函数接收一些类型参数,并产生一个类型或常量作为结果。
1.1 内置类型函数 sizeof
sizeof 是一个非常有用的内置类型函数,它返回一个描述给定类型参数大小(以字节为单位)的常量。例如:
#include <stddef.h>
#include <iostream>
template <typename T>
class TypeSize {
public:
static size_t const value = sizeof(T);
};
int main()
{
std::cout << "TypeSize<int>::value = "
<< TypeSize<int>::value << std::endl;
}
1.2 确定元素类型
假设我们有一些容器模板,如 vector<T> 、 list<T> 和 stack<T> ,我们希望有一个类型函数,给定这样的容器类型,能产生其元素类型。可以使用部分特化来实现:
超级会员免费看
订阅专栏 解锁全文
1252

被折叠的 条评论
为什么被折叠?



