【发布时间】:2012-10-10 11:28:36
【问题描述】:
我正在使用 C++ 开发游戏。我在很多地方读到过,基本上应该不惜一切代价避免在 C++ 中使用指针。我还在学习 C++,对此有点困惑。
我想要一个持久的玩家对象,并在游戏会话期间存在。该对象将包含玩家库存、玩家统计数据等。
玩家的物品栏基本上只是一个包含物品对象的向量(我创建的“物品”类)。
如果有人可以澄清以下内容,它将消除我的困惑:
- 当人们说“指针不好”时,他们指的是标准 C++ 指针吗?智能指针是否被视为“正常”?
- 除了指针之外,我还能如何访问分配在堆上的持久对象?
- 如果我想要一种在玩家库存中找到物品的方法,但如果找不到该物品则返回 NULL,那么如果没有指针,那如何实现呢?由于从“findItem”返回的项目应该是可编辑的(例如更改项目计数),目前我返回一个指向向量中项目的指针。这是对指针的有效使用吗?
任何帮助将不胜感激!
【问题讨论】:
-
您所阅读的内容可能应该是“应不惜一切代价避免使用资源拥有原始指针”。而是。
-
对不起,我还在学习C++,这到底是什么意思?
-
@LuchianGrigore:不,它是一个拥有资源的智能指针。