从boost :: non_copyable私下或公开继承?

tma*_*tth 22 c++ inheritance boost

你会推荐哪种做法,为什么?

class Foo : public boost::noncopyable {};
Run Code Online (Sandbox Code Playgroud)

class Foo : private boost::noncopyable {};
Run Code Online (Sandbox Code Playgroud)

我无法想象需要使用Foo的实例作为boost :: noncopyable,所以在这种情况下我倾向于私有继承.

Nik*_*sov 26

boost::noncopyable不声明virtual析构函数,即不是设计为公共继承链的基础.总是私下继承它.