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

C++ 对象创建时没有使用 new 关键字,但在构造函数中使用了 new 关键字

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 16:21:46 28 4
mua khóa gpt4 Nike

Nếu tôi tạo một đối tượng mà không sử dụng từ khóa new, chẳng hạn như "Object s(someval)", nhưng hàm tạo của đối tượng sử dụng new, khi đối tượng nằm ngoài phạm vi, hàm hủy có được gọi để phân bổ không gian mới cho nó không? Tôi cảm thấy như vậy, nhưng tôi không chắc chắn.

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

Chúng ta hãy đặt tên cho đối tượng, phải không?

cấu trúc A {
A() b(B mới) {}
B*b;
C c;
};

Một;

đây,Một kẻ hủy diệt gọi. Đ::c Điều tương tự cũng đúng với hàm hủy (khi Một Nó sẽ được gọi tự động khi nó bị hủy).

Nhưng,*A::b kẻ hủy diệtChưađược gọi - trên thực tế, đối tượng con trỏ Đ::b chính nó được phát hành chính xác, nhưng vì đây là kiểu nguyên thủy (là một con trỏ!) nên không có gì xảy ra. Nhưng,con trỏ *A::b Cần được gọi bằng xóa bỏ Phá hủy (và giải phóng bộ nhớ của nó) theo cách thủ công.

Về việc tạo đối tượng C++ không sử dụng từ khóa new mà sử dụng từ khóa new trong hàm tạo, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/15854741/

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