08 2015 档案
摘要:C++中动态内存的分配是在堆中进行的,主要通过下面3个方面:1.new和deletenew和delete很常见,new运算符分配内存,并且同时调用对象的构造函数,delete释放内存,并且调用对象的析构函数,但是new 和delete管理内存需要手动分配和释放内存,然而在程序中很难选择适当的时机释放...
阅读全文
摘要:除了每个容器定义的迭代器之外,在标准库头文件iterator中还定义了额外几种迭代器1.插入迭代器插入迭代器是一种迭代器适配器,它接受一个容器,返回一个迭代器,能实现向容器添加数据插入迭代器有3中类型,都是返回一个容器的插入迭代器,区别是所插入的位置不同(1)back_inserter(vec):创...
阅读全文
摘要:泛型算法只是依赖于迭代器的操作,而不是依赖于容器泛型算法可以分为3大类:下面的vec和vec2代表相同类型的容器1.只读算法:只允许读取其输入范围内的元素,而不改变元素find(vec.cbegin(),vec.cend(),k)查找算法:前两个参数表示元素范围的迭代器,第三个参数k表示要查找的元素...
阅读全文
摘要:1.容器类型按关键字有序保存元素:map:用来保存键值对,关键字不可以重复set:只保存关键字,关键字不可重复multimap:用来保存键值对,关键字可以重复multiset:只保存关键字,关键字可以重复无序集合:unordered_map:用哈希函数组织的mapunordered_set:用哈希函...
阅读全文
摘要:顺序容器总结:array:固定大小的数组,支持快速访问,不能添加和删除元素vector:动态数组,支持快速访问,但在尾部之外插入或删除元素会很慢string:与vector相似的容器,用于保存字符deque:双向队列,支持快速随机访问,在头尾位置插入元素速度很快list:双向链表,支持双向访问,在链...
阅读全文

浙公网安备 33010602011771号