gpt4 book ai didi

c++ - C++ 中的动态结构

转载 作者:行者123 更新时间:2023-11-30 00:35:33 24 4
gpt4 key购买 nike

对于一个 C++ 项目(我对这种语言比较陌生),我想创建一个结构来存储给定的单词和多个类的计数。例如:

struct Word
{
string word;

int usaCount = 0;
int canadaCount = 0;
int germanyCount = 0;
int ukCount = 0;
}

在这个例子中,我使用了 4 类国家。事实上,有数百个国家级。

我的问题如下:

  1. 有什么方法可以动态生成这个国家列表吗? (例如,有一个国家文件被读取,并在此基础上生成这个结构)
  2. 适合这个结构的应该是一个函数,如果看到类,它就会增加计数。还有一种方法可以使这种“动态”,我的意思是我想避免每个类一个函数(例如:incUsa()、incCanada()、incGermany() 等)
  3. 因为我不太习惯 C++:这甚至是它的思想方法吗?也许有更好的数据结构或替代(更合适)的方法来解决问题。

提前致谢。

最佳答案

在 C++ 中,classstruct 定义是在编译时静态创建的,因此您不能向 struct< 添加新成员等 在运行时。

对于动态数据结构,您可以使用像std::map 这样的关联容器。 :

std::map<std::string, int> count_map;
count_map["usa"] = 1;
count_map["uk"] = 2;

等...

您可以在 struct Word 的定义中包含 count_map 作为成员:

struct Word
{
std::string word;
std::map<std::string, int> count_map;
};

关于c++ - C++ 中的动态结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18673257/

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