gpt4 book ai didi

c++ - 裸指针到底有多糟糕?

转载 作者:太空狗 更新时间:2023-10-29 20:29:14 26 4
gpt4 key购买 nike

指向以其他方式分配的事物的指针在 C++ 中是否相当安全?

到目前为止,我一直在使用 STL 容器(在一种情况下,一个数组,但这是另一个问题)来满足我所有的动态内存需求,所以我不需要显式地使用 new 关键字。我也一直在愉快地使用普通的 ol'int *foo 类型指针来引用事物。现在我正在阅读有关智能指针的内容(我刚开始学习 Java,所以我以前从来不用担心这个),传统观点似乎是“裸指针不好,不要使用它们。”

那我有多大的麻烦?只要它们指向的东西具有其他破坏条件,我可以安全地继续使用裸指针吗?这是我可以逃脱但将来应该避免的事情吗?还是我应该事后修复是一场灾难?

最佳答案

裸指针本身是安全的,错误使用它们才是危险的(而且你很容易被带走)。智能指针非常漂亮,但有些(shared_ptr)涉及引用计数,这会导致性能下降。您应该在适用的情况下尝试使用智能指针,但 AFAIK 使用指针并不被认为是一个可怕的错误。

在引用 STL 容器的成员时应该小心,因为它们的地址在重定位期间可能会发生变化,从而给您带来奇怪的错误。

关于c++ - 裸指针到底有多糟糕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10589739/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com