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

遇到了类似问题:粘过来备注下

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


我的具体问题是 我看了C++ Primer Plus 的书 模板类实例化的格式一般是 vector<数据类型> 名称 ; 但是std::vector<PointT(数据类型1), Eigen::aligned_allocator<PointT>(数据类型2) > points; 这个语句明显有两个数据类型了。 请问一下 到底...



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

1
2
3
4
template <
     class  T,
     class  Allocator = std::allocator<T>
class  vector;

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

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


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值