c++ - 在构造函数中初始化引用

标签 c++ pointers reference constructor

我正在做一个游戏项目,我的队友有一种解决我们引用问题的方法,而且效果很好,除了当游戏很大时,我们最终会得到大量的构造函数。

class Player
{
   private:
      Weapon *w1, *w2, *w3;
      Armor *a1, *a2;

  public:
      Player(Weapon *w1, Weapon *w2, ...) : w1(w1), w2(w2), ...;
}

然后我的构造函数 是 Player(w1, w2, w3, ...); 这令人不安,如果播放器类有 100 个引用怎么办?

有没有办法让这个语法更简单,还是我们做错了?有没有更好的方法来引用玩家类之外的变量?

重要 以上纯粹是一个例子,写得不好。我不仅有武器和盔甲。我有很多类(class)。我有一个开发者控制台引用,我有盔甲引用,元素,我有对调试类、记录器类的引用,等等。 vector 对我没有帮助。抱歉这个糟糕的例子。

最佳答案

为什么不使用 vector

std::vector<Weapon *> W;
std::vector<Armor *> A;

关于c++ - 在构造函数中初始化引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17898932/

相关文章:

c++ - 对 `TextOutA@20' 的 undefined reference

c++ - 转换为 clang 格式的 C++17 嵌套命名空间?

c - 使用 argv[] 构建一个字符转换器程序

C++程序在随机位置无故停止

c++ - 自定义强制转换不适用于派生类的引用

c++ - 仅当循环中更新的变量是本地变量时才优化计算

c++ - Google Mocks 测试输出到 XML 不起作用

javascript - 在解析中查询指向同一类的指针

c++ - 如何检查引用是否为 const?

c++ - 对引用计数感到困惑