随笔分类 - Programming C/C++
C/C++程序设计中的一些想法,问题解决等
摘要:iterator1.erase//删除一个元素iterator erase(const_iterator pos);//删除一组元素, 范围 [first, last), 半闭半开区间iterator erase(const_iterator first, const_iterator last);两种情况都有返回值,返回最后被删除元素的后面一个的iterator.一个简单的测试vector<int> ak(6);unsigned int i = 0;for(i=0;i<ak.size();i++){ ak[i] = i;}for(i=0;i<ak.size();i++
阅读全文
摘要:vector是使用的比较多的一种C++的STL类,之前没有系统地看过如何使用vector,导致使用的时候总觉得不好用。vector是为了取代直接定义的数组,可以进行下标越界检查,大小可以动态增长。大家总是建议使用vector,而不使用 Type array[size]。第一次用vector的时候,报错了,vector<int> vInt;vInt[0] = 1;cout << vInt[0] << endl;运行时报错,Segmetation fault。于是改了一下,vInt.push_back(1);这样就对了。后来便一直这样用。最近才发现自己太傻了,于
阅读全文
摘要:最近跑一个程序,结果2G内存用完了,结果也没算出来,出现std::bad_alloc,应该是程序中某个地方内存空间没有及时释放,开始检查程序。发现好多地方用到vector,而且有些会很大,并且只是中间结果,只是因为需要在多个地方访问,定义为了类的成员变量,要等到这个类解析的时候才释放空间,看来应该在程序中,它的中间作用结束之后便释放内存。于是开始探索如何释放vector的内存。1、vector的成员函数 clear()clear()只是清除vector中的变量,并不释放内存。一个简单的测试程序如下,int main(){ vector<double> a; for(unsigned
阅读全文

浙公网安备 33010602011771号