加载中
C++11 提升Vector效能的技巧

(1)提前分配足够的空间以避免不必要的重新分配和复制周期 这个情况在 Scott Meyers 的书中得到了很好的解释,这本书叫 Effective STL-50条有效使用STL的经验: 对于 vector 和 string,在需...

2016/12/01 10:56
49
C++ list, vector, map, set 区别与用法比较

list封装了链表,vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]。Vector对于随机访问的速度很快,但是对...

2015/09/01 18:44
569
C++ 迭代器

标准库为每一种标准容器(包括 vector)定义了一种迭代器类型。迭代器类型提供了比下标操作更通用化的方法:所有的标准库容器都定义了相应的迭代器类型,而只有少数的容器支持下标操作。因为...

2015/09/09 14:13
40
Boost circular_buffer

很多时候,我们需要在内存中记录最近一段时间的数据,如操作记录等。由于这部分数据记录在内存中,因此并不能无限递增,一般有容量限制,超过后就将最开始的数据移除掉。在stl中并没有这样的...

C++ map的insert方法

关于map容器的insert成员说明: (1)map对象中一个给定键只对应一个元素。如果试图插入的元素所对应的键已在容器中,则insert将不做任何操作; (2)含有一个或一对迭代器形参的insert函数版...

2016/09/09 10:05
194
C++ STL 总结

STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新的也是极具革命性...

2016/10/19 10:13
130
STL find和find_if

一、find()算法 template<class InputIterator, class T>   InputIterator find ( InputIterator first, InputIterator last, const T& value )   {     for ( ;firs...

C++ Primer Plus(四)——复合类型

只能在定义数组时才能初始化,不能将一个数组赋值给另一个数组,但可以使用下标分别赋值给数组元素,但可以将一个string对象赋值给另一个string对象 如果只对数组的一部分初始化,其他元素自...

C++ ZeroMemory和memset

使用C/C++编程时,常使用ZeroMemory、memset或 “={0}”来对结构体对象进行初始化或清零。然而这三种方式都有各自的特点,使用时需谨慎,否则容易出现严重错误

Poco库-AutoPtr

引用计数: 1.无论何时一个引用被销毁或重写,它所引用的对象的引用计数减少。 2.无论何时一个引用被创建或拷贝,它所引用的对象的引用计数增加。 3.初始时的引用计数是1。 4.当一个对象的引...

2015/09/07 10:25
87
Boost 智能指针

1. auto_ptr auto_ptr 类可以用于管理由 new 分配的单个对象,但是无法管理动态分配的数组(我们通常不会使用数组,而是使用 vector 代替数组)。auto_ptr 在拷贝和赋值的时候有不寻常的行为...

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部