是否有可能用相同的参数重写某些功能stl容器?
我想用一些push_back内部函数完全覆盖if
我尝试但是总是有关于该函数的错误/信息在矢量中。

最佳答案

覆盖意味着您将从STL容器继承。不要那样做! STL容器不适用于从其继承。



作为一种选择,您可以将std :: vector封装到一些包装器类中,并在推送之前执行其他功能,例如:

template<typename T>
class Wrapper
{
public:
    template<typename U>
    void push(U&& e)
    {
         // some additional processing
         data.push_back(std::forward<U>(e));
    }

private:
    std::vector<T> data;
};

09-11 17:33