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