C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了有没有办法在c中初始化一些类对象的数组而不首先定义大小大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用这样的代码

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中初始化一些类对象的数组而不首先定义大小所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。