如何使用C智能指针?
我一直在使用C一段时间,我仍然对使用智能指针感到非常舒服,我只是在编辑一些使用它们的代码时使用它们,而不是在我自己的代码中(这可能值得说我是学生).
你能解释什么是智能指针的类型,它们如何工作以及何时使用它们? 此外,在其他人写的接口中接收或传递原始指针时,“协议”是什么? 谢谢. 解决方法
C 98没有提供除auto_ptr之外的任何智能指针,这充满了自己的问题. C 0X尝试通过引入更多的品种(shared_ptr,unique_ptr等)来解决这个问题.在此期间,最好的办法是使用Boost.看看可用的各种口味
here. Boost是社区驱动的,经过广泛测试,当然是免费的.有很好的文档,示例代码将帮助您开始使用.
有一些他们.简而言之:
(这是从Boost文档,并注意到它们也有这样的指针的容器!)
对我而言,最重要的规则是: >宪章资格>不要释放我没有分配的东西检查所有权/移动语义的转移 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |