c – 智能指针.何时,何地以及如何?
发布时间:2020-12-16 10:38:32 所属栏目:百科 来源:网络整理
导读:首先,由于存在不同类型的智能指针,我想将这个问题集中在其中两个上:引用计入侵入式和非侵入式智能指针.针对每种指针类型单独询问该问题. 我不确定如何制定我的问题,所以这就是我不问的问题: 我不是在问为什么或什么时候需要智能指针.我不应该使用哪种类型
首先,由于存在不同类型的智能指针,我想将这个问题集中在其中两个上:引用计入侵入式和非侵入式智能指针.针对每种指针类型单独询问该问题.
我不确定如何制定我的问题,所以这就是我不问的问题: 这就是我所要求的,我希望它足够清楚:当处理“智能管理”对象时,我应该在哪些上下文中使用哪个指针语义?也就是说,智能指针语义,原始指针语义,别的东西(比如对智能指针的引用)? 显而易见的是,当我“存储”指向对象的指针(对象是引用计数的内存实体)时,例如全局指针,或者作为类成员,它应该是一个智能指针,因此它会声称所有权,但是其他情况怎么样? 当我将指针作为函数参数传递时,它应该是智能指针,原始指针,对智能指针的引用,还是其他什么?返回指针怎么样?本地指针?等…… 当然,我可以在任何地方使用智能指针,这是最安全的选择,但我觉得这实际上是不必要的并增加了开销. 解决方法
恕我直言,有时候做事更快,而不是稍微提高绩效.如果你总是使用智能指针,我想你会更快地做事.
我的建议:到处使用智能指针.然后使用分析器查看它是否会产生相当大的开销.它在哪里,改变它:) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |