随笔分类 - STL
摘要:编写程序时无意中发现使用const修饰的map容器变量无法使用重载的[]运算符来获取相应的键值,于是编写测试用例进行验证,如下 #include <map> #include <string> #include <iostream> using namespace std; int main() {
阅读全文
摘要:std::thread不提供获取当前线程的系统id的方法,仅可以获取当前的线程id,但是我们可以通过建立索引表的方式来实现 而后用其创建线程 然后用如下方式获取线程id 转自:https://stackoverflow.com/questions/15708983/how-can-you-get-t
阅读全文
摘要:我们也要时刻清醒,有时候右值会转为左值,左值会转为右值。 (也许“转换”二字用的不是很准确) 如果我们要避免这种转换呢? 我们需要一种方法能按照参数原来的类型转发到另一个函数中,这才完美,我们称之为完美转发。 std::forward就可以保存参数的左值或右值特性。 因为是这样描述的: When u
阅读全文
摘要:示例: result_of可以推断函数F(Args...)的返回值类型, auto ->表明函数返回类型为std::future<typename std::result_of<F(Args...)>::type>
阅读全文
摘要:在引入右值引用,转移构造函数,转移复制运算符之前,通常使用push_back()向容器中加入一个右值元素(临时对象)的时候,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将这个临时对象放入容器中。原来的临时变量释放。这样造成的问题是临时变量申请的资源就浪费。 引入了右值引用,转移构造函
阅读全文
摘要:一、简介 我们可以向一个算法传递任何类别的可调用对象。对于一个对象或一个表达式,如果可以对其使用调用运算符,则称它为可调用的。即,如果e是一个可调用的表达式,则我们可以编写代码e(args),其中args是一个逗号分隔的一个或多个参数的列表。 可调用对象分别有:1、函数和函数指针;2、重载了函数调用
阅读全文
摘要:std::nothrow std::nothrow 1、在内存不足时,new (std::nothrow)并不抛出异常,而是将指针置NULL。 若不使用std::nothrow,则分配失败时程序直接抛出异常。 2、使用方式: 1 #include <new> 2 #include <iostream
阅读全文
摘要:作者Winter 详细解说 STL 排序(Sort) 0 前言: STL,为什么你必须掌握 1 STL提供的Sort 算法 1.1 所有sort算法介绍 1.2 sort 中的比较函数 1.3 sort 的稳定性 1.4 全排序 1.5 局部排序 1.6 nth_element 指定元素排序 1.7
阅读全文
摘要:unordered_map和map类似,都是存储的key-value的值,可以通过key快速索引到value。不同的是unordered_map不会根据key的大小进行排序, 存储时是根据key的hash值判断元素是否相同,即unordered_map内部元素是无序的,而map中的元素是按照二叉搜索
阅读全文
摘要:转自:http://blog.csdn.net/truexf/article/details/17303263一、vectorvector采用一段连续的内存来存储其元素,向vector添加元素的时候,如果容量不足,vector便会重新malloc一段更大的内存,然后把原内存中的数据memcpy到新的...
阅读全文
摘要:转自http://blog.sina.com.cn/s/blog_9f1c0931010180cy.html Vectors vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类
阅读全文
摘要:转自:http://blog.csdn.net/zzzmmmkkk/article/details/4266888/所以自己总结了一下,首先看sort函数见下表:函数名功能描述sort对给定区间所有元素进行排序stable_sort对给定区间所有元素进行稳定排序partial_sort对给定区间所有...
阅读全文
摘要:转自http://www.cppblog.com/wanghaiguang/archive/2012/06/05/177627.htmlSTL Set介绍集合(Set)是一种包含已排序对象的关联容器。多元集合(MultiSets)和集合(Sets)相像,只不过支持重复对象,其用法与set基本相同。S...
阅读全文
摘要:转自http://blog.csdn.net/lskyne/article/details/10418823Lists将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢.assign() 给list赋值back() 返回最后一个元素begin(...
阅读全文
摘要:转自http://www.cnblogs.com/marchtea/archive/2012/02/27/2370068.html总所周知,c++的stl中提出了iterator的概念,这是C所没有的.在一般的使用中,iterator的行为很像c内建的指针.而在java和c#中索性就直接取消了指针,...
阅读全文
摘要:C++map的基本操作和使用来源:(http://blog.sina.com.cn/s/blog_61533c9b0100fa7w.html) - C++map的基本操作和使用_Live_新浪博客 Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效...
阅读全文