程序员不建议代码中使用指针
发布时间
阅读量:
阅读量
在编写代码时,应尽量减少通过指针方式实现的操作。借助现代C ++语言特性,开发者几乎无需频繁传递指针,转而可以使用引用机制,同时编译器具备智能优化能力,能够有效规避冗余复制并自动处理所有权转移,不过这一过程并非在所有情况下都能实现。

智能指针的应用场景依然广泛存在。当需要动态生成对象并将其传递回调用堆栈时,通常期望这些对象在超出作用域后能够自动释放。若无法明确找到删除对象的合适位置,或难以确定哪个对象应负责删除操作,此时采用智能指针将是一个理想的解决方式。
unique_ptr具备以下优势:
您能够明确知晓所使用的smart_ptr将持续有效,直至其不再处于任何作用域内,并且不会有任何函数或类无意间将其销毁。
在整个代码执行路径中,所指向的对象将仅有一个销毁操作。
unique_ptr并非传统意义上的指针,其行为类似于一个透明的代理指针,会将相关调用转发至其所关联的对象。它不会出现“悬挂”状态,也无法被置为空。
unique_ptr所带来的额外开销几乎可以忽略不计,与原始指针的性能差异微乎其微。使用它并不会带来明显的速度损失。
shared_ptr适用于多个线程、对象等共同访问
全部评论 (0)
还没有任何评论哟~
