คำถามของฉันนั้นง่าย แต่ฉันไม่สามารถค้นหาคำถามได้ทุกที่
ถ้าฉันมีคลาสแบบนี้
class A {
vector<int> data;
}
เมื่ออินสแตนซ์ของ A
ถูกทำลาย data
จะถูกทำลายอย่างถูกต้องเช่นกัน หรือฉันควรเขียน destructor สำหรับ A
ที่เรียก destructor ของ data
โดยพื้นฐานแล้วฉันกังวลว่าหน่วยความจำแบบไดนามิกของเวกเตอร์จะไม่ถูกปล่อยเมื่ออินสแตนซ์ของ A
ถูกทำลายหรือไม่ ฉันสงสัยว่าคำตอบคือ data
ได้รับการปลดปล่อยอย่างถูกต้อง แต่ฉันไม่ต้องการรู้ว่าฉันผิดอย่างยากลำบาก
นอกจากนี้ หาก A
เป็นโครงสร้าง ตัวทำลายสำหรับ data
จะถูกเรียกเมื่ออินสแตนซ์ในเครื่องของ A
อยู่นอกขอบเขตหรือไม่
class A
(ซึ่งไม่ใช่การประกาศจริงๆ เนื่องจากขาด... โอ้เอาล่ะ) - person Matthieu M.   schedule 28.02.2012