李国帅 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(); }