根据我在网上查到的,除了必须用指针的时候,尽量用引用。据我所知,使用指针的唯一原因是:
- 处理原始内存时或
- 当您可能必须返回 null 或
- 当您处理从 new() 返回的新分配的对象时。
第一个真的无法处理。它是任务中固有的。 第二个可以由 Null 对象模式处理,并返回对该 Null 对象的引用。它要求您为每个希望能够引用为 Null 的类实例定义一个 Null 对象。 第三个可以用智能指针处理。
我想知道的是:是否有可能“在 C++ 中使用 java”并完全使用引用完全忽略指针进行编程?是否可以像在 Java 中那样通过语言在 C++ 中定义空对象?
抱歉,如果问题陈述不当或常见问题解答,我对 C++ 很生疏,我必须在其中开始一个新项目,所以我需要重新学习一些新事物并习惯于以不同的方式思考方式。
最佳答案
你不能重新设置一个引用,但你可以重新设置一个指向新变量的指针,这种行为无论如何都不能在引用中模拟(引用总是保持绑定(bind)到它们被初始化的变量)以及指针在实现这一点时提供的便利实际上会使 C++ 没有指针,只有引用几乎是不可能的。
关于c++ - 在 C++ 中需要什么才能使我们始终使用引用而不使用指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8807224/