例如恒定值阵列我有:陈述在C++
int boo[8];
boo[1] = boo[3] = boo[7] = 4;
boo[0] = boo[2] = 7;
boo[4] = boo[5] = boo[6] = 15;
如何我应该输入它作为恒定值?我看到类似的问题,但它并没有帮助我。
编辑: 还有一个问题,如果嘘指数0 1 3 4 5 6 7是恒定的,但嘘[2]不是?是否有可能做到这一点?
例如恒定值阵列我有:陈述在C++
int boo[8];
boo[1] = boo[3] = boo[7] = 4;
boo[0] = boo[2] = 7;
boo[4] = boo[5] = boo[6] = 15;
如何我应该输入它作为恒定值?我看到类似的问题,但它并没有帮助我。
编辑: 还有一个问题,如果嘘指数0 1 3 4 5 6 7是恒定的,但嘘[2]不是?是否有可能做到这一点?
这是你在找什么?
const int boo[] = { 7, 4, 7, 4, 15, 15, 15, 4 };
优惠非const指针这样的阵列中的一个条目:
int * foo = (int*)&boo[2];
一个不那么完美的解决方案可以是:
const int boo[8] = {7,4,7,4,15,15,15,4};
另一种解决方案可以是:
int boo_[8];
boo_[1] = boo_[3] = boo_[7] = 4;
boo_[0] = boo_[2] = 7;
boo_[4] = boo_[5] = boo_[6] = 15;
const int * boo = boo_;
不,看起来很优雅:) – x10 2011-04-07 13:54:02
使用'boo_'而不是'_boo'。以下划线或双下划线开头的名称保留供实现(编译器)使用。这里有一些规则,但它可能最好是在开始时一起避免下划线。 – 2011-04-07 14:03:17
如果用“常量值”表示初始化l ist,你不能。但是一些编译器提供了有趣的扩展。看看这个问题http://stackoverflow.com/questions/201101/how-to-initialize-an-array-in-c – 2011-04-07 13:47:47
你的意思是你想要const int boo [8]? – Dinaiz 2011-04-07 13:47:51