有关vector存放指针的问题
for (int k =0 ; k< 100000 ; k++)
{
#ifdef _DEBUG
CMemoryState oldState,newState,difState;
oldState.Checkpoint();
#endif
vector<int*> vecInt;
for (int i =0 ;i < 10000; i++)
{
int* pint =new int[100];
vecInt.push_back(pint);
}
vector<int*>::iterator it_INT;
for (it_INT = vecInt.begin() ; it_INT != vecInt.end(); it_INT++)
{
delete[] (*it_INT);
}
vecInt.clear();
#ifdef _DEBUG
newState.Checkpoint();
if ( difState.Difference(oldState,newState) )
{
printf("memory leak...\n");
}
#endif
}这样内存会泄漏吗, 我认为这样不会泄漏内存,但却一直在报memory leak...,why
{
#ifdef _DEBUG
CMemoryState oldState,newState,difState;
oldState.Checkpoint();
#endif
vector<int*> vecInt;
for (int i =0 ;i < 10000; i++)
{
int* pint =new int[100];
vecInt.push_back(pint);
}
vector<int*>::iterator it_INT;
for (it_INT = vecInt.begin() ; it_INT != vecInt.end(); it_INT++)
{
delete[] (*it_INT);
}
vecInt.clear();
#ifdef _DEBUG
newState.Checkpoint();
if ( difState.Difference(oldState,newState) )
{
printf("memory leak...\n");
}
#endif
}这样内存会泄漏吗, 我认为这样不会泄漏内存,但却一直在报memory leak...,why
...全文
相关推荐
详解C++编程中的vector类容器用法
vector是一个标准库中的容器,使用时需要包含#include 头文件,也可以说vector是一个类模板而不是一种数据类型,对它的定义,需要指定类型,需要的朋友可以参考下
C++指针及数组应用
对你的数组和指针有很大帮助,特别是对于新手来收更是不可多得的材料。
C++ vector与指针[可运行源码]
本文详细介绍了C++中vector与指针的交互方式,包括指向vector的指针、指向vector的指针数组以及vector内是指针元素的情况。文章首先讲解了如何通过指针指向栈上和堆上的vector,并分析了局部变量自动释放与主动释放的区别。接着,文章探讨了指向vector的指针数组的使用方法,包括栈上和堆上的不同处理方式。最后,文章简要介绍了vector内存储指针元素的情况。通过多个代码示例,文章清晰地展示了各种情况下的实现细节和注意事项,为C++开发者提供了实用的参考。
详解C++中的vector容器及用迭代器访问vector的方法
使用迭代器iterator可以更方便地解引用和访问成员,当然也包括vector中的元素,本文就来详解C++中的vector容器及用迭代器访问vector的方法,需要的朋友可以参考下
壬寅朔月的背包和指针-KHIN的讲义(指针,vector,deque部分)
壬寅朔月的背包和指针-KHIN的讲义(指针,vector,deque部分)


