派生类的高效交换方法

时间:2011-08-10 13:31:18

标签: c++

这是一个代码自己的代码片段。谢谢!

class Foo : private std::vector<int>
{
public:
    void swap(Foo& x)
    {
        std::swap(bar, x.bar);
        // what goes here?
    }
private:
    int bar;
};

1 个答案:

答案 0 :(得分:9)

std::vector<int>::swap(x);

但是,你不应该继承矢量。

由于injected-class-names,可以将其重写为

vector::swap(x);