我将通过两种不同的方式初始化数组,具体取决于宏:
# if feature_enabled
const int v[4] = {1, 2, 3, 4};
#else
const int v[5] = {0, 1, 2, 3, 4};
#endif
问题在于赋值中的数据实际上是大型矩阵,并且由于各种原因,仅进行较小的修改(仅在数组的开头再添加一个元素)就复制数据不是一个好的解决方案。
我想知道是否有一种方法可以执行与此处相同的操作,而又基本上不重复最后n-1个元素。
如果您没有在数组上指定大小,而是自动推断出大小,则可以有条件地在前面添加0:
const int v[] = {
# if feature_enabled
0,
#endif
1, 2, 3, 4
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句