STL读书笔记】的更多相关文章

Effective STL 读书笔记 标签(空格分隔): 未分类 慎重选择容器类型 标准STL序列容器: vector.string.deque和list(双向列表). 标准STL管理容器: set.multiset.map和multimap. 非标准STL序列容器: slist(单向列表)和rope(重型字符串?). 非标准STL关联容器: hash_set.hash_multiset.hash_map和hash_multimap.(c++11引入了unordered_set.unordere…
Effective STL 读书笔记 本篇文字用于总结在阅读<Effective STL>时的笔记心得,只记录书上描写的,但自己尚未熟练掌握的知识点,不记录通用.常识类的知识点. STL按照容器类型,可以分为标准序列容器(deque,vector,list,string),标准关联容器(map,multimap,set,multiset),另外,还有非标准容器,序列类型有slist和rope,关联类型有hash_**类相关容器.标准关联容器总是保持排列顺序. 在关联容器中,确保关联容器对于所使…
vector - 会自动增长的数组 vector又称为向量数组,他是为了解决程序中定义的数组是不能动态改变大小这个缺点而出现的.一般程序实现是在类创建的时候同时创建一个定长数组,随着数据不断被写入,一旦数组被填满,则重新开辟一块更大的内存区,把原有的数据复制到新的内存区,抛弃原有的内存,如此反复.由于程序自动管理数组的增长,对于我们程序员来说确实轻松了不少,只管把数据往里面插就行了,当然把物理内存和虚拟内存插爆掉了就是操作系统来找你麻烦了:-)vector由于数组的增长只能向前,所以也只提供了后…
加锁和解锁,也可以在构造函数和析构函数里面,自动调用. 相等和等价的关系:等价是用在排序的时候,跟less函数有关. vector,deque,string 要用erase-remove组合:而关联容器,直接erase就可以了. copy(x.begin(), x.end(), ostream_iterator<string>(cout, "\n")); 但是如果x的类型是string*,就不行. 自定义一个print(const string*ps); 然后 for_ea…
1.什么是序列式容器?什么是关联式容器? 书上给出的解释是,序列式容器中的元素是可序的(可理解为可以按序索引,不管这个索引是像数组一样的随机索引,还是像链表一样的顺序索引),但是元素值在索引顺序的方向不一定是有序的.下面这幅图是SGI STL中的各种容器,图中内缩表示内含关系,类似于UML类图里面的组合关系.比如说heap内含一个vector,表示heap是借由vector实现的. 2.vector vector概述 vector的空间是动态分配的,对vector进行size()操作得到的结果是…
声明:侯捷先生的STL源码剖析第二章个人感觉讲得蛮乱的,而且跟第三章有关,建议看完第三章再看第二章,网上有人上传了一篇读书笔记,觉得这个读书笔记的内容和编排还不错,我的这篇总结基本就延续了该读书笔记的框架,如果发现有雷同,请勿见怪,这篇文章只是我的个人记录,算不上原创,只是更多的想把概念描述清楚,所以如果您觉得有copy之嫌的话请绕道看您觉得的原链接.在第8部分给出了笔记的参考链接.   1.allocator 作用 STL的组件(容器)都需要配置空间以放置资料.这个就是allocator的作用…
STL源码剖析读书笔记之vector 1.vector概述 vector是一种序列式容器,我的理解是vector就像数组.但是数组有一个很大的问题就是当我们分配 一个一定大小的数组的时候,起初也许我们不会觉得数组容量太小不合需求,但是随着数据量的增加, 数组尺寸大小不再满足需求,此时我们需要手动的去扩展其大小.然而vector就帮我们完全实现了一个可 自适应增长的数组功能.那么这样看来vector其实也就是一种可自适应增长的动态数组的类的实现. 2.关于vector的定义 其实用过vector的…
转眼间,大学的第二学期悄悄来临了,老师给我们布置了一道原本我以为很无趣的题目----写<我是IT的读书笔记>,但是我读了<我是IT小小鸟>这本书后,令我受益匪浅:五个人,每个人有每个人的故事.他们来自不同级别的学校,来自不同条件的家庭,也都有不同的未来.但是他们却有很多相同点.这本书讲的很贴实际,接下来我说说看完本书籍的25条笔记: 一字不漏的敲入一本书的程序是学习语言的最好方法.(最笨的方法其实是最有效率的) 要想成为优秀的程序员,对于基本算法有深入与精确的理解应该是一项必须的基…
<Essential C++>读书笔记 之 泛型编程风格 2014-07-07 3.1 指针的算术运算(The Arithmetic of Pointer) 新需求1 新需求2 新需求3 3.2 了解 Iterators(泛性指针) 3.3 所有容器的共通操作 3.6 如何设计一个泛性算法 Function Objects Function Object Adapters Standard Template Library(STL)主要由两种组件构成: 一是容器(container),包括ve…
原文地址:http://blog.csdn.net/jinzhuojun/article/details/13297447 虽然摩尔定律让我们的计算机硬件得以以指数速度升级,但反摩尔定律又不断消减这些升级所带来的好处.其原因之一就是面对硬件的更新换代,程序员似乎不用再对内存“精打细处“了.而近年来随着穿戴式设备和大数据平台的兴起(一个是内存本身受限,一个是对内存的需求巨大),让内存的有效利用又成为了值得开发人员关注的热点. <Small MemorySoftware: Patterns For…
很早之前就听过这本书,找工作之前读一读.看了几页,个人感觉实在是生涩难懂,非常不符合中国人的思维方式.之前也有博主做过笔记,我来补充一些自己的理解. 我看有人记了笔记,还不错:http://www.360doc.com/content/12/0426/20/7899729_206769585.shtml 这位博主还写了more effective c++的读书笔记:http://bellgrade.blog.163.com/blog/static/83155959200863113228254/…
章节回顾: <Effective C++>第1章 让自己习惯C++-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(1)-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(2)-读书笔记 <Effective C++>第3章 资源管理(1)-读书笔记 <Effective C++>第3章 资源管理(2)-读书笔记 <Effective C++>第4章 设计与声明(1)-读书笔记 <Eff…
章节回顾: <Effective C++>第1章 让自己习惯C++-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(1)-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(2)-读书笔记 <Effective C++>第3章 资源管理(1)-读书笔记 <Effective C++>第3章 资源管理(2)-读书笔记 <Effective C++>第4章 设计与声明(1)-读书笔记 <Eff…
章节回顾: <Effective C++>第1章 让自己习惯C++-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(1)-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(2)-读书笔记 <Effective C++>第3章 资源管理(1)-读书笔记 <Effective C++>第3章 资源管理(2)-读书笔记 <Effective C++>第4章 设计与声明(1)-读书笔记 <Eff…
章节回顾: <Effective C++>第1章 让自己习惯C++-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(1)-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(2)-读书笔记 <Effective C++>第3章 资源管理(1)-读书笔记 <Effective C++>第3章 资源管理(2)-读书笔记 <Effective C++>第4章 设计与声明(1)-读书笔记 <Eff…
章节回顾: <Effective C++>第1章 让自己习惯C++-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(1)-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(2)-读书笔记 <Effective C++>第3章 资源管理(1)-读书笔记 <Effective C++>第3章 资源管理(2)-读书笔记 <Effective C++>第4章 设计与声明(1)-读书笔记 <Eff…
读书笔记之:C++ Primer (第4版)及习题(ch01-ch11) [++++] 第2章 数据和基本类型 1. 整型 2. 习题:左值和右值 3. C++关键字/保留字和操作符替代值 4. 声明,定义, 初始化和赋值是不同的概念. 声明是说明一个变量的存在,不会为变量进行内存空间的分配. 定义是说明一个变量的存在,同时为这个变量分配对应的内存空间. 初始化就是在进行变量定义的时候在所分配的内存空间中同时填入有意义的值.如果不进行初始化的话,变量虽然有对应的内存空间,但是内存空间中对应 的内…
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL in 10 Minutes - Fourth Edition> 读书笔记汇总 建立练习环境 以CentOS7系统下的MySQL和MariaDB为例. 01--了解SQL 什么是SQL,为什么很有用 基本的数据库术语 02--检索数据 如何使用SQL的SELECT语句来检索单个表列.多个表列以及所有表列 如…
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用SQL语句 简化复杂的SQL操作 使用表的一部分而不是整个表 保护数据:可以赋予访问表的特定部分的权限 可返回与底层表不同格式和表示的数据 如果应用大量或复杂的视图,极可能影响性能,应该先进行测试再应用视图. 18.1.2 视图的规则和限制 视图名必须唯一,与其他的视图和表不同 视图数目没有限制 可…
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Library,任务并行库)和PLINQ(Parallel LINQ,并行LINQ). 18.1 独立线程的运行和控制 通过 System.Threading.Tasks.Task 类在托管代码中公开各种API,该类代表的是一个异步操作.然而,一个 Task 并不直接映射到一个非托管线程.相反, Tas…
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种特性.新版本除了精心修订旧版内容外,还全面涵盖了C# 5.0的新增特性,比如异步编程.调用者信息.case表达式.带参数的泛型构造函数.支持null类型运算等.通过本书,读者能够快速.深入地理解C#,为自己的编程生涯打下良好的基础. 本书是C#入门的经典好书,适合对C#感兴趣的所有读者.Daniel…
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心得和感悟,将技术问题以生动易懂的语言展开,层层深入,以例说理.全书主要,包括了.NET基础知识及其深度分析,以.NET Framework和CLR研究为核心展开.NET本质论述,涵盖了.NET基本知识几乎所有的重点内容.全书分为5个部分,第1部分讲述.NET与面向对象,从底层实现角度分析了.NET如何实现面向…
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型.架构设计.性能优化.Web安全.系统发布.运维监控等在内的大型网站开发全景视图. 本书不仅适用于指导网站工程师.架构师进行网站技术架构设计,也可用于指导产品经理.项目经理.测试运维人员等了解网站技术架构的基础概念:还可供包括企业系统开发人员在内的各类软件开发从业人员借鉴,了解…
LOMA是国际金融保险管理学院(Life Office Management Association)的英文简称.国际金融保险管理学院是一个保险和金融服务机构的国际组织,它的创建目的是为了促进信息交流以及改善会员公司的运作模式. LOMA 280主要介绍了保险原理,被保险人的保险过程和保单所有人的权益.这套教材同時也包括了个人和团体人寿.健康保险以及年金的内容和特点.由于我所在的公司Manulife是一家保险公司,所以我需要增加我的业务背景知识,所以希望通过LOMA教程来学习保险基本原理. 以下…
<3D Math Primer for Graphics and Game Development>读书笔记2 上一篇得到了"矩阵等价于变换后的基向量"这一结论. 本篇只涉及两章,但容量已足够喝一壶了. 第8章 矩阵和线性变换 变换物体和变换坐标系是等价的,将物体变换一个量等价于将坐标系变换一个相反的量. 旋转rotation 2D中的旋转只有一个参数:角度θ,逆时针经常被认为是正方向. 在3D场景中,绕轴旋转而不是点.绕轴旋转θ°时,必须知道哪个方向被认为是正方向.在左手…
<3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and Game Development>第一版的读书笔记.第二版貌似还没有中文版. 本书网站gamemath.com.中文版居然给了翻译公司的网址,而且里面还什么有用的都没有,囧. 第2章 笛卡尔坐标系统 左手坐标系的记忆方法 伸出左手,手指依次是())))))Z轴.他们分别对应起来,用左手摆成下图的样子(…
<More Effective C#>这本书,大概是四年前看完的,但只整理了一部分读书笔记,后面有时间的话,会陆续补充的. More Effective C# :使用泛型 More Effective C# Item1 : 使用1.x框架API的泛型版本 More Effective C# Item2 : 恰到好处的定义约束 More Effective C# Item3 : 运行时检查泛型参数的类型并提供特定的算法 More Effective C# Item4 : 使用泛型强制编译期类型推…
<javascript权威指南>读书笔记——第二篇 金刚 javascript js javascript权威指南 今天是今年的196天,分享今天的读书笔记. 第2章 词法结构 2.1 字符集 JavaScript程序是用Unicode字符集编写. Unicode是ASCII和Latin-1的超集,支持几乎所有语言. ES3 要求支持Unicode 2.1及后续版本 ES5 要求支持Unicode 3及后续版本 2.1.1 区分大小写 JavaScript是区分大小写的. HTML 并不区分大…
<javascript权威指南>读书笔记——第一篇 金刚 javascript js javascript权威指南 由于最近想系统学习下javascript,所以开始在kindle上看这本书来补充下. 今天是今年的196天,由于我之前承诺过,每天分享读书笔记,只是之前分享的是大众读物,所以随手分享到kindle阅读群里了.但是现在读的是技术类书籍,分享到kindle读书群不太合适,所以还是以博客的形式分享.这样子,一个链接,大家感兴趣了就点开看看,不感兴趣了,就不点开. 其实这篇文章应该是昨天…
<C#高级编程>读书笔记 C#类型的取值范围 名称 CTS类型 说明 范围 sbyte System.SByte 8位有符号的整数 -128~127(−27−27~27−127−1) short System.Int16 16位有符号的整数 -32 768~32 767(−215−215~215−1215−1) int System.Int32 32位有符号的整数 -2 147 483 648~2 147 483 647(−231−231~231−1231−1) long System.Int…