首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

们进来看看讨论这种情况怎么操作

2013-06-19 
大虾们进来看看讨论这种情况如何操作?1、我往一个数组里按顺序填充内容,如何求出我填充的内容的个数,用size

大虾们进来看看讨论这种情况如何操作?
1、我往一个数组里按顺序填充内容,如何求出我填充的内容的个数,用sizeof(buffer)/size(buffer[0]这个是数组的长度,但是我只想求出我填充的个数,没填充的不算!
2、QList有没有和数组初始化类似的方案?即QList<Class_Test> class_test = {a, b, c};


//SimpleCtrl.h

structLanguageInfo
{
LanguageTypelang;
QStringlangName;
introw;
}

structDestinationInfo
{
DestinationTypedest;
QStringdestName;
introw;
LanguageInfolangInfo[3];
}

Class SimpleCtrl
{
...

static DestinationInfo destInfo[];
};

//SimpleCtrl.cpp

DestinationInfo SimpleCtrl::destInfo[] = {
{FrameworkBase::Destination_NearMiddleEast, "NearMiddleEast", 1, {{Language_MEE, "ME English", 0}, {Language_Aribic, "Aribic", 1}}),
......
}

//上面是我封装的两个结构体,大体意思就是式向地(Destination)里动态加载语言(Language)

//在结构体数组destInfo[]里存放的我需要动态加载数据集,是按照结构体的数据存放的。
//现在主要问题是destInfo[destIndex].languageInfo[]这个数组不是每个都填充3个数据,可能是一个。。。
//我用sizeof(destInfo[destIndex].languageInfo)/sizeof(destInfo[destIndex].languageInfo[0]) == 3这个肯定是恒等的。
//所以我希望有方法求出我自己填充的数组的个数。

//后来我考虑了下,准备在结构体里用QList(其实和java里的List一样,这样我可以调QList::size()得出长度),即:将struct DestinationInfo改一下
structDestinationInfo
{
DestinationTypedest;
QStringdestName;
introw;
QList<LanguageInfo>langInfo;
}

//新问题出来了,编译器报错:大体意思是,DestinationInfo SimpleCtrl::destInfo[]这个数组初始化有问题
//问:
//对于QList(和java一样),我如果不像数组那样初始化,然道必须在对象的基础上调用QList::append()么?这样我感觉对我的表的整体可读性会有破坏

C++ QList struct 初始化 Qt
[解决办法]
用sizeof只能求出整个数组的大小
你填充了数据和没填充数据,没存里面都是 0 和1  ,别说计算机不知道了,人也不可能知道啊。

所以你需要自己定义一个变量来记录你填充了多少。

热点排行