根据我在网上发现的内容,你应该尽可能多地使用引用,除非你必须使用指针.据我所知,使用指针的唯一原因是:
第一个不能真正处理.这是任务中的内在因素.第二个可以由Null对象模式处理,并返回对该Null对象的引用.它要求您为每个希望能够引用为Null的类实例定义一个Null对象.第三个可以用智能指针处理.
我想知道的是:是否可以"使用C++编写Java"并完全使用引用完全忽略指针?是否有可能通过语言在C++中定义一个像Java一样的空对象?
很抱歉,如果问题说得不好或常见问题解答,我在C++上非常生疏,我必须在其中开始一个新项目,所以我需要重新学习一些新东西并习惯以不同的方式思考.
你不能重新安装一个引用,但是你可以重命一个指针来指向新的变量,这个行为无论如何都不能在引用中模拟(引用始终保持与它们被初始化的变量绑定),并且指针实现这一点时提供的便利实际上会使没有指针的C++,只有参考几乎不可能.
需要什么?可重复引用 - 也称指针.参考资料一旦受到约束,就无法改变其裁判.
struct Anchor{ /*some data*/ };
struct Sprite{
void set_anchor(Anchor const& a){ _anchor = &a; }
Anchor const* _anchor;
};
struct Entity{
Anchror _anchor;
};
Run Code Online (Sandbox Code Playgroud)
有了这样的东西,你可以Sprite通过改变它的锚点来重新定位屏幕.你会如何用引用来做到这一点?