【发布时间】:2010-11-07 14:53:14
【问题描述】:
人们普遍认为 C++ 标准库通常不打算使用继承进行扩展。当然,我(和其他人)批评了建议从 std::vector 等类派生的人。然而,这个问题:c++ exceptions, can what() be NULL? 让我意识到标准库中至少有一部分是打算如此扩展的 - std::exception。
所以,我的问题分为两部分:
是否有任何其他标准库类打算派生自?
如果确实派生自诸如
std::exception之类的标准库类,那么它是否受ISO 标准中描述的接口的约束?例如,使用what()成员函数不返回 NTBS(比如返回空指针)的异常类的程序是否符合标准?
【问题讨论】: