【发布时间】:2021-02-15 12:19:43
【问题描述】:
如何以更紧凑的形式重写以下内容?
constexpr unsigned int dog=1;
constexpr unsigned int cat=2;
constexpr unsigned int elephant=3;
...
constexpr unsigned int zebra=1000;
理想情况下,我想要类似的东西
dog,cat, elephant, ..., zebra = range(1,1000)
【问题讨论】:
-
只写一个函数?
-
最好解释一下您要使用这些变量解决什么问题,而不是您当前尝试如何解决它。您不能“生成”具有不同名称的变量。但是可能还有其他方式可以说“给定 3 个字母,计算一个数字”确实有效。
-
变量名不一定是连续的。我在 sn-p 中更清楚地说明了这一点。
-
使用
std::array或std::map。或 42。这就是您问题的确切答案。 -
或者你可以通过使用
enum来保存一些字符。我不知道这是否能解决你的问题,因为你不会告诉我们它是什么。