![](/img/trans.png)
[英]is default enough for a c'tor d'tor of a class with vector elements only?
[英]Is default d'tor enough for complex vectors?
如果我的 class 有:
std::vector<std::shared_ptr<Animal>> table;
雖然Animal
是一個抽象的 class 被其他人繼承,但默認的 d'tor 就足夠了嗎?
我知道向量本身就足夠了,但是該向量中包含的內容呢?
您可以在Animal
中使用虛擬析構函數作為良好實踐:
virtual ~Animal(){}
盡管在使用shared_ptr
時並不真正需要虛擬析構函數來正確使用多態性。
在這種情況下,您無需擔心 memory 管理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.