我有很多函数被定义为:
template<typename T>
void myFunction1(vector<T>& vin);
重点是,我输入一个 STL 向量并做一些工作。
我最近需要将默认分配器更改为客户分配器。除非我将定义更改为:
template<typename T, typename Alloc>
void myFunction1(vector<T,Alloc>& vin);
为了使它更复杂,我不会在所有情况下都使用重载分配器..
这是否意味着我必须用两个定义重写每个函数,一个是分配器的模板,另一个是没有分配器的定义?我真的希望这不是答案...