unique_ptr 不共享它的指针。它无法复制到其他 unique_ptr,无法通过值传递到函数,也无法用于需要副本的任何标准模板库 (STL) 算法。只能移动unique_ptr。这意味着,内存资源所有权将转移到另一 unique_ptr,并且原始 unique_ptr 不再拥有此资源。我们建议 ...
分类:
编程语言 时间:
2016-06-29 21:59:23
阅读次数:
384
??
一,巡防算法
for_each(容器起始地址,容器结束地址,要执行的方法)
#include
#include
#include
using namespace std;
template
struct plus2
{
void operator()(T&x)const
{
x+=2;
}
};
void printElem(int...
分类:
编程语言 时间:
2016-06-12 03:15:04
阅读次数:
155
??
阅读程序的时候有一个地方不太懂,竟然让我发现了这个总结,感觉很有用!!!
STL算法
目录
STL算法概述
查找算法
堆算法
关系算法
集合算法
排列组合算法
排序和通用算法
删除和替换算法
生成和变异算法
算数算法
STL算法概述
简介:
STL算法部分主要由头文件,,组成。要使用
STL中的算法函数必须包含头...
分类:
其他好文 时间:
2016-06-06 01:17:59
阅读次数:
243
STL之算法总结
查找算法示例(13个):判断容器中是否包含某个值
1.adjacent_find:
所有容器适用(线性的)
adjacent_find(begin,end);
adjacent_find(begin,end,function);
在范围[first,last)之...
分类:
编程语言 时间:
2016-05-19 17:48:48
阅读次数:
189
STL之算法总结
STL算法部分主要由头文件,,组成。
要使用 STL中的算法函数必须包含头文件,
对于数值算法须包含,中则定义了一些模板类,用来声明函数对象。
STL中算法大致分为四类:
1、非可变序列算法:指不直接修改其所操作的容器内容的算法。
2、可变序列算法:指可以修改它们所操作的容器内容的算法。
3、排序算...
分类:
编程语言 时间:
2016-05-19 17:47:59
阅读次数:
235
vector 1) * :使用vector必须包含vector头文件。可变长的动态数组,支持随机访问,所有STL算法都可以对vector进行操作。 ** :随机根据下标访问某个元素的时间是一个常数,尾部添加大多数情况下也是常数,中间插入和删除速度较慢。 2)成员函数 初始化 vector // 创建 ...
分类:
其他好文 时间:
2016-05-05 14:26:21
阅读次数:
128
从函数指针到仿函数。 1.1 函数调用操作符(C++语法中的左右括号)也可以被重载。 许多STL算法都提供了两个版本,一个用于一般状况(例如排序时以递增方式排列),一个用于特殊状况(例如排序时由使用者指定以何种特殊关系进行排列)。像这种情况,需要用户指定某个条件或策略,而条件或策略的背后由一整组操作 ...
分类:
其他好文 时间:
2016-04-20 13:05:23
阅读次数:
194
一.vector可变长的动态数组必须包含头文件 #include <vector>支持随机访问迭代器? 根据下标随机访问某个元素时间为常数? 在尾部添加速度很快? 在中间插入慢所有STL算法 都能对vector操作构造函数初始化:vector();无参构造函数, 将容器初始化成空的vector(in ...
分类:
其他好文 时间:
2016-03-31 23:35:34
阅读次数:
641
解释说明
traits侯捷老师的翻译是萃取。其目的就是在编译期进行模板调用的类型识别,从而做一些事情。
最突出的例子,我觉得不是《STL源码剖析》中“迭代器概念与traits编程技法"这一章的说明,而是stl算法中copy的实现。代码在stl源码的stl_algobase.h中。
copy的最终实现,大致分为两类,一类是直接整块内存的memmove操作,另一类是一个个对象赋值。其中涉及has...
分类:
其他好文 时间:
2016-03-14 18:56:33
阅读次数:
250