0
点赞
收藏
分享

微信扫一扫

DSS中自定义数组SVector的使用例程

江南北 2022-07-18 阅读 61


李国帅 2018/1/23



#include "Win32header.h"
#include "OSMemory.h"

#include "OS.h"
#include "SVector.h"

class PairElement {
public:
PairElement()
{
mName = NULL;
mValue = 0;
}
PairElement(char* name, int value)
{
mName = name;
mValue = value;
}
PairElement(const PairElement& elem)
{
mName = new char[strlen(elem.mName) + 1];
strcpy(mName, elem.mName);
mValue = elem.mValue;
}

virtual ~PairElement()
{
if (mName != NULL){
delete[] mName;
}
mValue = 0;
}
char *mName;
int mValue;
};


int main(int argc, char* argv[])
{
char* Str1 = new char[10];
strcpy(Str1, "Str1");
char* Str2 = new char[10];
strcpy(Str2, "Str2");
PairElement element1(Str1, 1);
PairElement element2(Str2, 2);

SVector<PairElement> fSeqNumTimeMapping;
fSeqNumTimeMapping.push_back(element1);
fSeqNumTimeMapping.push_back(element2);

if (!fSeqNumTimeMapping.empty())
{
qtss_printf("vector len: %d\n", fSeqNumTimeMapping.size());
}

for (UInt32 i = 0; i < fSeqNumTimeMapping.size();)
{
if (fSeqNumTimeMapping[i].mValue < 2)
fSeqNumTimeMapping.swap_erase(i);
else
{
++i;
}
}
for (UInt32 i = 0; i < fSeqNumTimeMapping.size();i++)
{
if (fSeqNumTimeMapping[i].mName == NULL)
qtss_printf("item: name is null, val %d\n", fSeqNumTimeMapping[i].mValue);
else
qtss_printf("item: name %s, val %d\n", fSeqNumTimeMapping[i].mName, fSeqNumTimeMapping[i].mValue);
}
fSeqNumTimeMapping.clear();

}

举报

相关推荐

0 条评论