从C ++中的SO库返回模板容器

时间:2018-08-15 16:54:49

标签: c++ stl shared-libraries

我想从Vector<T>库中导出的函数返回模板容器(例如List<T>.so)。该库使用自己的STL版本,我不能只使用std::vector

我可以为类型Obj创建一个新类:

class ObjVector {
public:
    <...>
    Obj& operator[](size_t pos);
    void push_back(const Obj& obj);
private:
    class Impl;
    Impl *d_ptr;
};

然后在库源代码中将类ObjVector::Impl定义为class ObjContainer::Impl: public std::vector<Obj>和方法。

但是如何使用模板呢?因为我需要用于不同类型对象的向量。

0 个答案:

没有答案