我使用这样的代码:
const vector someArray={
{"Ana",1},{"Bob",2},{"Charlie",5},};
static const int knElements=filterStats.size();
忽略kn前缀,这是我说的不变,大小的方式.
我发现它很有用,因为我不必在更改向量的初始化时更改或计算knElements.但问题是使用const向量困扰我,因为向量是可调整大小的数组,因此感觉不对.顺便说一句,如果你想知道为什么我需要它 – 长故事,它是一种地图,但我不做任何搜索或插入,只是“为每个”所以阵列是最好的选择.
编辑:
我改变了我的鳕鱼,它编译:
const filterStat filterStats[]={
//...
};
static const int knFilterStats=sizeof(filterStats)/sizeof(filterStats[0]);
static_assert(sizeof(filterStats),"Can't run statistics-no filterStats exists");
我不知道你可以在c中做[].抱歉愚蠢的问题,我希望它对某人有所帮助.