人们普遍认为,C++标准库通常不打算使用继承进行扩展.当然,我(以及其他人)批评那些建议来自诸如此类的人std::vector.但是,这个问题:c ++异常,可以what()为NULL吗?让我意识到标准库至少有一部分是为了扩展 - std::exception.
所以,我的问题有两个部分:
是否有其他标准库类可以派生自哪些?
如果一个派生自标准库类,例如std::exception,是否受ISO标准中描述的接口约束?例如,使用异常类的what()成员函数的程序是否会返回NTBS(比如它返回一个空指针)是否符合标准?