读书笔记
文章平均质量分 70
EverSteins
这个作者很懒,什么都没留下…
展开
-
C++ primer(第四版)读书笔记2
C++没有明确定义如何释放指向不是new分配的内存地址的指针。(p152,118)以下几种情况都可能引发运行时或编译时错误:1)delete不是new分配的空间2)重复delete new分配的空间两次以上3)在释放动态数组时忘了方括号对 int i; int *pi=&i; delete pi; //vs 2008会运行时错误原创 2011-11-12 14:32:48 · 359 阅读 · 0 评论 -
<<鸟哥的linux私房菜服务器架设篇(第3版)>>读书笔记1
第2章p402.1.2 计算机网络组成组件计算机网络组件:节点(node):具有IP的设备,包括PC、Linux服务器、ADSL调制解调器、网络打印机(集线器(hub)没有IP,因此它不是节点)服务器主机(server)工作站(workstation)或客户端(client)网卡(NIC):一般node上都具有一个以上的网卡,以达成网络联机功能。目前大都使用具有原创 2013-01-31 02:10:47 · 1009 阅读 · 0 评论 -
《大话数据结构》第6章.树
树是图的一种特殊形式,二叉树是树的一种特殊形式(线性表也能看作为是二叉树的一种特殊形式,为斜树),二叉查找树是二叉树的一种特殊形式,平衡二叉树是二叉查找树的一种特殊形式树关键词:有序树、无序树、森林、度(degree)、高度(depth)、层次(level) 树、二树、二叉树、二叉查找树(二叉排序树)、AVL树(平衡二叉树的一种)原创 2013-02-28 18:18:46 · 675 阅读 · 0 评论 -
《大话数据结构》第8章.查找——散列表(哈希表)
散列表(哈希表)关键词:冲突、同义词、堆积、散列函数、开放地址法、链地址法、除留余数法核心思想:散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)。不需要比较就可获得需要的记录的存储位置。查找时,根据这个确定的对应关系找到给定值key的映射f(key),若查找集合中存在这个记录,则必定在f(key)的位置原创 2013-02-28 18:27:58 · 825 阅读 · 0 评论 -
《大话数据结构》第7章.图
图关键词:顶点(Vetrex)、边(Edge)、无向图(Undirected graphs)、有向图(Directed graphs)、简单图、无向完全图、有向完全图、稀疏图、稠密图、路径、回路(环)、简单路径、简单回路(简单环)、连通图what图:是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是原创 2013-02-28 18:21:32 · 535 阅读 · 0 评论 -
C++难点(1)——C++中的未定义行为
C++没有明确定义如何释放指向不是new分配的内存地址的指针。(p152,118)以下几种情况都可能引发运行时或编译时错误:1)结果未定义:delete不是new分配的空间 p1522)结果未定义,自由存储区可能被破坏:重复delete new分配的空间两次以上 p1533)结果未定义,至少会导致运行时少释放了内存空间,从而产生内存泄露(memory leak)。对于原创 2013-06-26 11:24:21 · 858 阅读 · 0 评论 -
容器类(1)Vector(2)
《c++ primer》p80值初始化:如果没有指定元素的初始化式,那么标准库将自行提供一个元素初始值进行值初始化(value initializtiond)。这个由库生成的初始值将用来初始化容器中的每个元素。具体值为何,取决于存储在vector中元素的数据类型:1)如果vector保存内置类型(如int类型)的元素,那么标准库将用0值创建元素的初始化式:vector fvec原创 2013-11-27 00:58:19 · 655 阅读 · 0 评论 -
容器类(1)Vector(re迭代)
why使用vector,而不是内置数组(包括定长数组int[5],和动态数组int *arr=new int[n]):key:vector可以很大程度地避免下标越界,缓冲区溢出,内存泄露1)自动析构,因为是局部对象。因为是自动析构,所以不用关心释放问题了2)异常安全的一部分(evernote《TC++PL》读书笔记),同样也是因为是局部对象,定长数组也能自动析构,但不能动态分配3)小心原创 2013-11-27 00:53:12 · 769 阅读 · 0 评论 -
《TC++PL》读书笔记(re迭代)
p325Key:只有在一个对象的构造函数执行完成后,才被认为对象构建(contruct)成功。此后,也只有在此之后,stack unwinding时才为该对象调用析构函数。 一个由子对象组成的对象的构造,将一直持续到它所有的子对象都完成了构造工作 数组的构造一直持续到它的所有元素都构造完成,而且,只有那些构造完成的元素才会在stack unwindi原创 2014-02-27 06:21:52 · 1466 阅读 · 0 评论 -
泛型编程笔记(re迭代)
《c++ primer》p232what 函数匹配:将函数调用与候选函数集合中的一个函数相关连的过程函数匹配的3种可能:a)找到最佳匹配,编译成功b)找不到匹配,编译错误c)when 当存在多个与实参匹配的函数,但没有一个是明显的最佳选择。则编译错误,因为具有二义性why 要掌握函数匹配的步骤:1)编译成功,但意想不到的匹配结果 2)编译失败,因为有二义性w原创 2013-11-27 00:49:52 · 652 阅读 · 0 评论 -
<<linux程序设计(第4版)>>读书笔记1
netstat p525网络信息服务是通过本地查询,还是要连接到远程数据库 p527网络配置文件?服务信息函数?linux下如何组网 p527如何设置计算机的主机名 p528套接字第15章 套接字套接字 p513,523what 套接字:一种进程间通信机制(不仅可以本地进程通信,也可以两台不同机器间进程通信),管道概念的拓展。客户/服务器系统的开原创 2013-01-31 02:09:09 · 784 阅读 · 0 评论 -
《C++标准程序库》读书笔记
泛型why泛型:为了让库更一般化。比如find,可以将三样东西都参数化 1)查找对象的类型2)该对象在数据结构中的组织方式3)满足某某条件地查找仿函数p127,294what仿函数:定义了operator()的对象why仿函数:1)使泛型算法更一般化2)仿函数有自己的独特状态仿函数可以有不同的状态。原创 2012-07-31 07:50:18 · 473 阅读 · 0 评论 -
C++ primer(第四版)读书笔记1
c++的函数传递引用与指针的区别。 以我的理解。引用的本质原理就是指针,引用相当于指针常量(比如int引用作用相当于int *const)。之所以c++设计了引用的概念。除了语法便捷,使用起来更加方便外(不用一直*)。也更加安全,不会再复制其他值给该引用,使它指向其他对象。 c++ primer解释引用与指针的区别:共同点: 虽然使用引用和指针原创 2011-10-24 20:07:06 · 479 阅读 · 0 评论 -
C++ primer(第四版)读书笔记3
what explicit构造函数:用单个形参的构造函数,如果加了explicit关键字,则无法完成从形参类型到该类型的一个隐式转换。通常单个形参的构造函数应该声明为explicit,除了拷贝构造函数。不过,拷贝构造函数和赋值构造函数除非需要,一般也设为privateexplicit则只能在内部声明,而不能在外部声明声明为explicit后,尽管不能再隐式创建对象,但可原创 2011-11-12 14:38:19 · 454 阅读 · 0 评论 -
《C++ primer(第四版)》读书笔记4-编码规范
编写良好的泛型代码(534)编写模板代码时,对实参类型的要求尽可能少是有益的1)模板的形参是const引用(可以支持那些不支持复制构造函数类型的类;对于大类型对象,速度更快,因为不是复制整个对象传递)2)函数体中的测试只用C++程序员应习惯于优先使用!=而不是C++程序员经常会遇到标准库的内容。标准库中的类及泛型算法大多定义为模板类及模板函数,它们的原创 2011-12-08 10:34:10 · 556 阅读 · 0 评论 -
C++ primer(第四版)读书笔记5
定义变量也是声明。可以通过使用extern关键字声明变量名而不定义它: p46extern int i; //declares but does not define iint i //declares and defines iextern声明不是定义,也不分配存储空间。事实上,它只是说明变量定义在程序的其他地方。程序中变量可以声明多次,但只能定义一次。原创 2012-01-20 20:49:08 · 377 阅读 · 0 评论 -
《C++ primer(第四版)》读书笔记6
第18章. 特殊工具与技术注意:new表达式,placement new表达式,delete表达式,operator new 和 operator delete标准库函数之间的区别a:operator new 和 operator delete标准库函数只是new和delete表达式操作的第一步(见下)。而placement new负责构造对象。可以通过改写类成员o原创 2012-02-12 22:48:17 · 561 阅读 · 0 评论 -
《C++ primer(第四版)》读书笔记7-第16章 模板与泛型编程
模板形参包含:类型形参,非类型形参类型形参:声明:typename(或class) T(标识符)使用时:具体类型如int非类型形参:声明:类型说明符(如int,size_t)使用时:常量表达式(如16)编写模板代码需注意:1)模板形参不能为空2)每个模板类型形参前面必须带上关键字class或typename,每个非类型形参前面必须带上类型原创 2012-05-29 21:23:21 · 618 阅读 · 0 评论 -
《C++ primer(第四版)》读书笔记8-第9章 顺序容器
容器,顺序容器表示迭代器范围的beg,end,其范围是左闭合区间。end不是指向元素范围的最后一个元素,而是指向最后一个元素的下一位置。如果两个迭代器相等,则迭代器范围为空如果vector为空,begin返回的迭代器与end返回的迭代器相同访问容器的方式:下标,迭代器所有标准库容器都定义了相应的迭代器类型,而只有少数的容器支持下标操作。由于通用性,一般都使用迭代原创 2012-05-29 21:25:28 · 417 阅读 · 0 评论 -
<<java编程思想>>读书笔记
类型:基元类型,类类型实体:类:字段,方法,修饰符(默认修饰符),staticwhy foreach1)简化代码编写2)阅读方便3)避免出错值比较和引用比较(例:Interger):== !=关系运算法,eqauls方法访问级别类成员:友好(默认,friendly,又称为包访问级别),public,private,protected访问级别类:友原创 2012-05-29 21:29:12 · 516 阅读 · 0 评论 -
《泛型编程与STL》读书笔记
关键词:迭代器,函数配接器,迭代器之配接器(Iterator Adapters)iterator_traits迭代器的associated type是value_type,difference_type,reference_type,pointer_type,size_type,iterator_categoryiterator_tag是iterator_category所属(ty原创 2012-07-31 07:47:52 · 1089 阅读 · 0 评论 -
《C++程序设计原理与实践》读书笔记
p292 ,302what 抽象类:只能用作其他类的基类。我们使用抽象类来表示那些抽象的概念,即相关实体共性的一般化所对应的那些概念what 抽象类的另一种解释 《effective c++》电子版p175:另一个制作Handle class的办法是,令类成为一种特殊的抽象基类(abstract base class),称为Interface class。这种class的目的是详细一一描述原创 2014-06-28 23:09:52 · 885 阅读 · 0 评论