gpt4 book ai didi

c++ - 我可以从 `std::array` 派生一个类吗?

转载 作者:太空宇宙 更新时间:2023-11-04 14:59:57 26 4
gpt4 key购买 nike

一般而言,标准容器类不打算派生自,例如他们有非虚析构函数。

但是,我注意到 std::array 根本没有定义析构函数(至少在 GNU 库中)。

这是否意味着 std::array 可以安全派生?

我不打算重载它的任何成员函数,只是添加了几个(主要是将其用作固定大小的队列)。

最佳答案

从具有非虚析构函数的类非公开派生是安全的。只有公共(public)继承可能不安全。

std::array 有一个析构函数,无论是否已声明。所有类都有析构函数。如果基类析构函数不是虚拟的,则总是 UB 通过基类指针删除对象。 std::array 在这方面没有什么不同。

关于c++ - 我可以从 `std::array` 派生一个类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53324196/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com