gpt4 book ai didi

c++ - 初始化 vector 的 vector (外部 vector 和内部 vector )

转载 作者:行者123 更新时间:2023-11-30 02:26:10 29 4
gpt4 key购买 nike

这里有很多类似的问题,但我没有真正找到任何可以特别回答我的问题的问题。

我有一个 vector 的 vector 作为类的属性。另一个属性是 bucket_count。我想将 vector 的 vector 初始化为 bucket_count 的大小,然后将其中的每个 vector 初始化为单个“”。

目前,我有

class QueryProcessor {
private:
int bucket_count;
// store all strings in one vector
vector<vector<string> > hash_table(bucket_count);

但这不会编译(抛出 error: unknown type name 'bucket_count')

删除 if 编译就好了,但最终会出现段错误。我已经用调试器追踪到了它,它似乎就在这里

.
.
.
} else if (query.type == "add") {
// Check if string already in table
for (int i = 0; i < hash_table[hash].size(); i++) { // throws EXEC_BAD_ACCESS here
if (hash_table[hash][i] == query.s) {
return;
}
}
.
.
.

我认为这可能是由于未初始化 vector ,因此出现了上述问题。

编辑:忘了说我想要一种没有 for 循环的方法

最佳答案

在类定义中,vector<vector<string>> hash_table(bucket_count);声明一个接受 bucket_count 的函数并返回 vector<vector<string>> .

在构造函数中初始化:

QueryProcessor:: QueryProcessor(int count)
: bucket_count(count),
hash_table(bucket_count, vector<string>(1))
{
}

关于c++ - 初始化 vector 的 vector (外部 vector 和内部 vector ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43199746/

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