const vector<filterStat> 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中做[].抱歉愚蠢的问题,我希望它对某人有所帮助.
解决方法 const向量是一件非常好的事情 – 你的代码是正确的做事方式. 总结以上是内存溢出为你收集整理的有没有办法在c中初始化一些类对象的数组而不首先定义大小全部内容,希望文章能够帮你解决有没有办法在c中初始化一些类对象的数组而不首先定义大小所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)