《c++ primer》
文章平均质量分 61
EverSteins
这个作者很懒,什么都没留下…
展开
-
C++ primer(第四版)读书笔记1
c++的函数传递引用与指针的区别。 以我的理解。引用的本质原理就是指针,引用相当于指针常量(比如int引用作用相当于int *const)。之所以c++设计了引用的概念。除了语法便捷,使用起来更加方便外(不用一直*)。也更加安全,不会再复制其他值给该引用,使它指向其他对象。 c++ primer解释引用与指针的区别: 共同点: 虽然使用引用和指针原创 2011-10-24 20:07:06 · 488 阅读 · 0 评论 -
C++ primer(第四版)读书笔记3
what explicit构造函数:用单个形参的构造函数,如果加了explicit关键字,则无法完成从形参类型到该类型的一个隐式转换。 通常单个形参的构造函数应该声明为explicit,除了拷贝构造函数。不过,拷贝构造函数和赋值构造函数除非需要,一般也设为private explicit则只能在内部声明,而不能在外部声明 声明为explicit后,尽管不能再隐式创建对象,但可原创 2011-11-12 14:38:19 · 461 阅读 · 0 评论 -
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 · 363 阅读 · 0 评论 -
《C++ primer(第四版)》读书笔记4-编码规范
编写良好的泛型代码(534) 编写模板代码时,对实参类型的要求尽可能少是有益的 1)模板的形参是const引用(可以支持那些不支持复制构造函数类型的类;对于大类型对象,速度更快,因为不是复制整个对象传递) 2)函数体中的测试只用 C++程序员应习惯于优先使用!=而不是 C++程序员经常会遇到标准库的内容。标准库中的类及泛型算法大多定义为模板类及模板函数,它们的原创 2011-12-08 10:34:10 · 562 阅读 · 0 评论 -
C++ primer(第四版)读书笔记5
定义变量也是声明。可以通过使用extern关键字声明变量名而不定义它: p46 extern int i; //declares but does not define i int i //declares and defines i extern声明不是定义,也不分配存储空间。事实上,它只是说明变量定义在程序的其他地方。程序中变量可以声明多次,但只能定义一次。原创 2012-01-20 20:49:08 · 383 阅读 · 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 · 568 阅读 · 0 评论 -
《C++ primer(第四版)》读书笔记8-第9章 顺序容器
容器,顺序容器 表示迭代器范围的beg,end,其范围是左闭合区间。end不是指向元素范围的最后一个元素,而是指向最后一个元素的下一位置。 如果两个迭代器相等,则迭代器范围为空 如果vector为空,begin返回的迭代器与end返回的迭代器相同 访问容器的方式:下标,迭代器 所有标准库容器都定义了相应的迭代器类型,而只有少数的容器支持下标操作。由于通用性,一般都使用迭代原创 2012-05-29 21:25:28 · 423 阅读 · 0 评论 -
《C++ primer(第四版)》读书笔记7-第16章 模板与泛型编程
模板形参包含:类型形参,非类型形参 类型形参: 声明:typename(或class) T(标识符) 使用时:具体类型如int 非类型形参: 声明:类型说明符(如int,size_t) 使用时:常量表达式(如16) 编写模板代码需注意: 1)模板形参不能为空 2)每个模板类型形参前面必须带上关键字class或typename,每个非类型形参前面必须带上类型原创 2012-05-29 21:23:21 · 626 阅读 · 0 评论