随笔分类 - C++
摘要:equal()算法比较简单,它的作用是比较两个容器是否相等然后返回布尔值,它有两种重载的实现方式,先看下算法的定义: 1 // TEMPLATE FUNCTION equal WITH PRED 2 template<class _InIt1, 3 class _InIt2, 4 class _Pr
阅读全文
摘要:参考: http://blog.csdn.net/devourheavens/article/details/7497172 http://zh.cppreference.com/w/cpp/container/forward_list forward_list <forward_list> tem
阅读全文
摘要:1、__STL_STATIC_TEMPLATE_MEMBER_BUG 如果编译器无法处理static member of template classes(模板类静态成员)就定义 2、__STL_CLASS_PARTIAL_SPECIALIZATION 如果编译器支持 partial special
阅读全文
摘要:basic_string& insert( size_type index, size_type count, CharT ch );在index位置插入count个字符ch string str = "meihao"; string sstr = str.insert(0,2,'a'); cout
阅读全文
摘要:一、左值右值的总结 再次来写左值右值相关的东西我的内心是十分惴惴不安的,一来这些相关的概念十分不好理解,二来网上相关的文章实在太多了,多少人一看这类题目便大摇其头,三来也怕说不清反而误导了别人,反复纠缠这些似乎无关大雅的语言细节实在也有成为 language lawyer 之嫌。但我还是决定再总结一
阅读全文
摘要:C++11有了chrono库,可以很容易的实现定时功能。 chrono: chrono库主要包含了三种类型:时间间隔Duration、时钟Clocks和时间点Time point。 Duration: duration表示一段时间间隔,用来记录时间长度,可以表示几秒钟、几分钟或者几个小时的时间间隔,
阅读全文
摘要:typeid关键字 注意:typeid是操作符,不是函数。这点与sizeof类似) 运行时获知变量类型名称,可以使用 typeid(变量).name() 需要注意不是所有编译器都输出”int”、”float”等之类的名称,对于这类的编译器可以这样使用 1 int ia = 3; 2 if(typei
阅读全文
摘要:在C++中,我们有时可以将构造函数用作自动类型转换函数。但这种自动特性并非总是合乎要求的,有时会导致意外的类型转换,因此,C++新增了关键字explicit,用于关闭这种自动特性。即被explicit关键字修饰的类构造函数,不能进行自动地隐式类型转换,只能显式地进行类型转换。 注意:只有一个参数的构
阅读全文
摘要:1.与字符串函数strcpy区别: memcpy与memmove都是对内存进行拷贝可以拷贝任何内容,而strcpy仅是对字符串进行操作。 memcpy与memmove拷贝多少是通过其第三个参数进行控制而strcpy是当拷贝至'\0'停止。 2.函数说明: memcpy函数的功能是从源src所指的内存
阅读全文
摘要:ANSI C说明了三个用于存储空间动态分配的函数(1) malloc 分配指定字节数的存储区。此存储区中的初始值不确定(2) calloc 为指定长度的对象,分配能容纳其指定个数的存储空间。该空间中的每一位(bit)都初始化为0(3) realloc 更改以前分配区的长度(增加或减少)。当增加长度时
阅读全文
摘要:当 operator new 不能满足一个内存分配请求时,它抛出一个 exception(异常)。很久以前,他返回一个 null pointer(空指针),而一些比较老的编译器还在这样做。你依然能达到以前的目的(在一定程度上),但是我要到本文的最后再讨论它。 在 operator new 因回应一个
阅读全文
摘要:一 概述: Map是标准关联式容器(associative container)之一,一个map是一个键值对序列,即(key ,value)对。它提供基于key的快速检索能力,在一个map中key值是唯一的。map提供双向迭代器,即有从前往后的(iterator),也有从后往前的(reverse_i
阅读全文
摘要:有些时候,为了图省力,我们没准会这样的调用一个函数 unordered_map< pair<int, int>, int > mp; 但是很显然的是,这样的写法是会报错的,因为pair还没有HASH键值。 error: call to implicitly-deleted default const
阅读全文
摘要:new运算符和operator new() new:指我们在C++里通常用到的运算符,比如A* a = new A; 对于new来说,有new和::new之分,前者位于std operator new():指对new的重载形式,它是一个函数,并不是运算符。对于operator new来说,分为全局重
阅读全文
摘要:一、stoi 头文件string int stoi (const string& str, size_t* idx = 0, int base = 10); int stoi (const wstring& str, size_t* idx = 0, int base = 10); 将字符串转换为整
阅读全文
摘要:1、误区! 1、堆排序排完后的堆和大顶堆、小顶堆不是一个概念!2、堆分为大顶堆和小顶堆,即要么大顶堆(大根堆/最大堆),要么小顶堆。3、对于堆,堆的根节点一定是堆中所有节点的最大值或者最小值。4、大顶堆只是说这个堆总每一个节点满足:每一个节点大于或者等于其左右娃。并非这个堆一定是从大到小的序列。5、
阅读全文
摘要:介绍: 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。 在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出 (first in, largest out)的行为特征。 首先要包含头文件#include<queue>, 他和que
阅读全文
摘要:目录 1、array模板类的定义 (1)array模板类的声明 (2)容器属性 (3)array模板类的说明 (4)array模板类的头文件 2、array模板类的使用 (1)Iterators (2)Capacity (3)Element access (4)Modifiers (5)Compar
阅读全文
摘要:函数 Matrix(Index_T r, Index_T c) :m_row(r), m_col(c)//非方阵构造 Matrix(Index_T r, Index_T c, double val ) :m_row(r), m_col(c)// 赋初值val Matrix(Index_T n) :m
阅读全文
摘要:set简介: 顺序容器包括vector、deque、list、forward_list、array、string,所有顺序容器都提供了快速顺序访问元素的能力。 关联容器包括set、map 关联容器和顺序容器有着根本的不同:关联容器中的元素是按关键字来保存和访问的。与之相对,顺序容器中的元素是按它们在
阅读全文
浙公网安备 33010602011771号