将一串单词视为数组 (C++)

Treat a string of words like an array (C++)

本文关键字:数组 C++ 单词视 一串      更新时间:2023-10-16

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

我非常想要一个项目列表,比如一个单词数组,并且能够通过简单地指向该项目来用另一个项目替换一个项目,就像你在游戏中旅行时捡起一个项目一样。

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

 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"

相反,结果通常是"t",如第 3 个字符。

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

您可以使用

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 实际上是数组中的第四个元素。

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