1
私はタイプですが、それは私的にDerived
から継承されています。 Derived
は新しいメンバー変数を追加しません。私的継承とADLスワップ
Derived
のスワップを作成する正しい方法は何ですか?私たちは、Base
がメンバーswap
を持っていると仮定することはできませんので、私はおそらくだと思う:
class Derived : private Base {
public:
void swap(Derived& other) noexcept
{
using std::swap;
swap(static_cast<Base&>(*this), static_cast<Base&>(other));
}
};
が正しくこの仕事をしていますか?
は、ああ、はい、私はDerived' 'のためのADLスワップを残し直接質問に関連するものではありません。しかし、指摘してくれてありがとう。 –