是否有可能用相同的参数重写某些功能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;
};