gpt4 book ai didi

c++ - C++ 中的全局变量

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:22 27 4
gpt4 key购买 nike

所以我有这样的东西

#define HASHSIZE 1010081

static struct nlist *hashtab[HASHSIZE];

现在我希望能够更改我的 hashtab 的 HASHSIZE,因为我想测试不同的素数,看看哪个会给我带来更少的冲突。但是数组不采用可变大小,因此 HASHSIZE 必须是常量。有办法解决这个问题吗?

最佳答案

你为什么不使用std::vector而不是在 C++ 中使用数组?

例如:

  std::vector<nlist *> hashtab; 
hashtab.resize(<some_value>);

但是无论如何,如果您使用 g++ 就可以这样做,因为 g++ 支持可变长度数组 (VLA) 作为扩展。

例如:

  int HASHSIZE=<some_value>
static struct nlist *hashtab[HASHSIZE];

关于c++ - C++ 中的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1970294/

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