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

list结构体析构有关问题

2012-06-09 
list结构体析构问题C/C++ codeclass FileLineInfo{public:FileLineInfo(void)~FileLineInfo(void)privat

list结构体析构问题

C/C++ code
class FileLineInfo{public:    FileLineInfo(void);     ~FileLineInfo(void);private:       //各种方法private:    BYTE *m_pbyLines;};#define KG_FREE_ARRAY(pArray)     \    do  \    {   \    if (pArray)                 \        {                           \        free(pArray);      \        (pArray) = NULL;        \        }                           \    } while (false)FileLineInfo::FileLineInfo(void){    unsigned int uiSize = GetAvailableSize(DEFAULT_LINE_SIZE);    m_pbyLines = (BYTE *)malloc(uiSize);    ZeroMemory(m_pbyLines, uiSize);    }FileLineInfo::~FileLineInfo(void){    KG_FREE_ARRAY(m_pbyLines);}typedef struct sctBucket{    unsigned long ulhashCode;    list<FileLineInfo>ltFileInfoList;}Bucket;typedef list<Bucket> MyHashTab;MyHashTab *my_HashTable;my_HashTable; = new MyHashTab[nTableLength];BOOL Check(){          Bucket m_bucketNode;    FileLineInfo fileInfoNode;        m_bucketNode.ulhashCode = 0;        m_bucketNode.ltFileInfoList.push_back(fileInfoNode);        my_HashTable[nHashIndex].push_back(m_bucketNode);        return TRUE;}


大概这样的一段代码,在调用Check()的时候,会造成内存问题,调用了~FileLineInfo()2次,肿么办呢?

[解决办法]
没有拷贝构造函数和赋值函数?

热点排行