cuốn sách gpt4 ai đã làm

c++ - 父/子类所有权语义

In lại Tác giả: Vũ trụ không gian 更新时间:2023-11-04 12:21:52 28 4
mua khóa gpt4 Nike

我一直在用一个父对象构建一个系统,它在其中创建各种子对象,每个子对象都需要一个主对象才能运行。现在,到目前为止,我一直在创建 shared_ptrChild* ,所以当 Parent 所有 Childs 的创建者都消失时,Parent 也消失了。

但我正在重新设计我的 API,以便可以在堆栈上创建 Child(以前它只是堆)。现在我不确定如何处理 Parents,因为我不明白为什么它们不应该在堆栈上创建 - 就它们的实际功能而言 - 但是如果 Parent 被破坏然后有人试图使用会发生什么他们在堆上移动、复制或分配的 Child?我应该抛出异常吗?跳过执行操作?或者只是坚持在堆上分配父级?

câu trả lời hay nhất

这是问题句

if Parent is destroyed and then someone tries to use a Child ...

如果这是可能的,那么您拥有共享所有权,这意味着在堆上创建。

因此,要么坚持堆分配,要么放弃共享所有权语义。没有别的办法。 yếu_ptr 只是远离通告共享对象的状态。

关于c++ - 父/子类所有权语义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4530939/

28 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress