0
我想使用智能指針而不是原始指針。 如何才能相應地轉換此功能?從原始指針轉換爲智能指針
Node * List::next(const Node * n) const {
return n->next;
}
我想使用智能指針而不是原始指針。 如何才能相應地轉換此功能?從原始指針轉換爲智能指針
Node * List::next(const Node * n) const {
return n->next;
}
像這樣:
Node * List::next(const Node * n) const {
return n->next;
}
至於我可以告訴函數next
不會不執行任何所有權轉讓,因此並不需要的Node
所有權的方式來關注自身對象,所以它不需要改變。 (它不需要是List
的成員,或者它可以是static
成員。)
它通過使用智能指針試圖達到什麼目的? – 2013-05-06 21:14:31
您不應該暴露您的數據結構的低級別。裸指針是好的,如果他們只用於私人。 – 2013-05-06 21:14:56
智能指針用於管理您分配的資源。你給出的代碼片段與現有的原始指針工作,而不是分配它們,所以你真的不在正確的位置。你知道你想用智能指針做什麼嗎? – GreenCoder 2013-05-06 21:16:18