最近,我发现使用C ++的过去几年中,我经常使用指针,而且通常在可以轻松地将它们替换为更合适的指针时使用。我使用它们的目的是使用一个对象来允许未初始化的对象,并轻松进行检查。
例如,假设我有一个要附加到游戏中对象上的相机:
Class Camera {
public:
Entity *attachEntity;
Camera() {
attachEntity = nullptr;
}
void update() {
// If there's an entity to be attached to
if (attachEntity != nullptr) {
...
}
}
};
Run Code Online (Sandbox Code Playgroud)
这是指针的不好用法吗?如果不使用它,我找不到一种好的方法。而且,如果不应该将其附加到实体,则可以将其nullptr
重新设置为指针。否则,attachEntity
无论当前是否安装了相机,都必须始终有一个。这种做法有什么问题吗?有没有指针的好方法吗?我看到您不能仅仅将一个对象设置为可以NULL
像指针一样。最好的方法是什么?
(已编辑以添加#5)