您的位置:首页 > 其它

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

2018-01-23 09:39 330 查看
李国帅 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();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: