也许我什么都不担心。我希望数据成员严格遵循 RAII 习语。如何将抽象基类中的受保护指针成员初始化为空?
我知道它应该为空,但确保它被普遍理解不是更好吗?
将初始化代码放在初始化列表之外有可能无法运行。考虑到将此指针分配到堆栈上的装配操作,它们不能在多线程环境中以几乎相同的方式(作为 c'tor 主体)被中断,或者堆栈扩展是否保证是原子的?如果保证析构函数运行,那么即使处理器没有原子地执行它,堆栈扩展是否也有这样的保证?
这么简单的问题怎么会变得如此广泛?谢谢。
如果我可以避免使用很棒的 std:: 库,那我就处于极简主义环境中。