像一个数组一样处理一串字(C ++)

时间:2016-04-20 16:41:29

标签: c++

我正在尝试创建一个基于文本的游戏,我在其他人的团队中工作,我在创建项目列表时遇到问题。

我非常想要一个项目列表,比如一系列单词,并且能够通过简单地指向项目来替换项目,就像你在游戏中选择一个项目一样。

这可能吗?我看过的每个网站都详细介绍了如何创建一个可扩展的字符串或内存分配列表。我想做的就是有一个我可以调用的值列表例如我想象它可以这样工作。

 item1 = "Lint, dust, sword,axe,gem,Gold key, silver key";
 item2 = "Lint, dust, sword,axe,gem,Gold key, silver key";

cout << "Show:" << item1[3] << " and " << item2[2]
<< "\n";

"Show: Sword and Axe"
相反,结果通常是&#34; t&#34;,如第3个字符。

我之所以有这种工作理念的原因是因为我曾与Matlab合作使用数组创建类似的东西并且它有效,也许这就是为什么我认为这应该如此简单。

2 个答案:

答案 0 :(得分:1)

您可以使用std::array

//Declare list of words
std::array<std::string, numwords> words1 = { "Lint", "Dust", "Sword", "Axe", "Gem", "Gold Key", "Silver key" };

然后你可以像你一样访问这些词:

words1[3]; //"Axe"
words1[2]; //"Sword"

请注意,在C ++索引中,从0开始,而不是1,因此索引3实际上是数组中的第四个元素。

答案 1 :(得分:0)

#include <string>

const std::string list[5] = {"str1","str2","str3","str4","str5"};