C++,vector模板类的问题? std::vector<PointT, Eigen::aligned_allocator<PointT> > points;

2025-02-27 19:59:24
推荐回答(1个)
回答1:

实际上模板和函数一样,是可以有默认参数的,std::vector的声明是

template<
    class T,
    class Allocator = std::allocator
> class vector;

有两个模板参数,T 是元素类型,而 Allocator 负责提供 vector 需要用到的动态内存。其中 Allocator 参数有默认值,一般的使用不需要指定这个参数。但有时对内存有特殊需求,就需要提供自己定义的内存管理类。


把容器操作和内存管理分开,这是STL的一个亮点,你在设计容器时也可以学习