gpt4 book ai didi

c++ - C++ 中的链接类?

转载 作者:行者123 更新时间:2023-11-28 03:28:48 24 4
gpt4 key购买 nike

众所周知:可以使用 C/C++ 创建链接列表以使程序动态化。但是现在,我正在用 C++ 编写一个“链接类”。我的父类“游戏”应该有可变数量的元素。每个元素都是一个类。所以我编写了这个:

class GAME : public LEVEL
{ private:
ELEMENT *startPointer;
public:
GAME()
{ startPointer=NULL;
}
initGame()
{ p=aStartPointer;
while(p!=NULL);//This loop is based on a linked list, so its dynamic
{ startPointer=new ELEMENT(startPointer);
p=p->next;
}
}
}


class ELEMENT
{ private:
ELEMENT *next;
public:
ELEMENT(ELEMENT* nextPointer)
{ next=nextPointer;
}
}

我的问题:我以前从未听说过链接类,我不确定是否应该使用它。
专业程序员是否使用此类方法(有用吗?),还是有更好的方法来做到这一点?

最佳答案

are there better Methods to do this?

是的。这是一个:

class GAME : public LEVEL
{ private:
std::vector<ELEMENT> elements;
...
};

使用标准库容器:

  • 通常使用 std::vector<> .
  • 如果需要唯一性,请使用 std::set<>
  • 如果您需要将元素与键相关联,请使用 std::map<>
  • 如果您需要非常频繁或非常快速地从容器中插入或删除项目,请使用 std::list<>std::set<>
  • 还有其他考虑因素。查阅一本好书,了解如何有效地使用标准容器。

关于c++ - C++ 中的链接类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13183429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com