Effective C++: 01让自己习惯C++】的更多相关文章

01:视C++为一个语言联邦 1:今天的C++已经是个多重范型编程语言(multiparadigm programming language),一个同时支持过程形式(procedural).面向对象形式(object-oriented).函数形式(functional).泛型形式(generic).元编程形式(metaprogramming )的语言.所以,需要将C++视为一个由相关语言组成的联邦而非单一语言. 2:这个联邦中主要包含4个次语言:C.Object-Oriented C++(cla…
//条款01:视C++为一个语言联邦 // 1:C++主要包含的语言为: // A:C.说到底C++仍然以C为基础.区块(blocks).语句.预处理器.内置数据类型.数组.指针等均来自于C.许多时候C++对于问题的解决不过是较高级的C解法.当以C++内的C成分 // 工作的时候,高效编程守则映照出C语言的局限:没有模板,没有异常,没有重载等. // B:Object-Oriented C++.这部分也就是C with Class所述求的:class(包括构造函数和析构函数),封装,继承,多态,…
条款01:视C++为一个语言联绑 C++的四个语言层次: C:C++是以C为基础的.基本数据类型.语句.预处理器.数组.指针等统统来自C. Oject-Oriented C++:面向对象这一特性包含了:类,封装(声明与实现相分离),继承(多继承和多重继承.构造函数.析构函数.拷贝构造函数.拷贝赋值运算符),多态(静态绑定:函数重载,动态绑定:虚函数),虚函数等 Template C++:C++的泛型编程能力. STL:一个标准的template库,里面介绍了容器.迭代器.算法以及函数对象等模板类…
01:仔细区别 pointers 和 references 1:没有所谓的null reference,但是可以将 pointer 设为null.由于 reference 一定得代表某个对象,C++ 因此要求 references 必须有初值,但是pointers 就没有这样的限制. 没有所谓的 null reference 这个事实意味使用 references 可能会比使用 pointers更富效率.这是因为使用 reference 之前不需测试其有效性. 2:Pointers 和 refe…
Advantage Unlike constructors, they have names. (BigInteger.probablePrime vs BigInteger(int, int, Random) They are not required to create a new object each time they're invoked(Flyweight pattern). This ensures that a.equals(b) if and only if a = = b.…
条款1:视C++为一个语言联邦 可以将C++分为4个层次: 1.C:C++实在C语言的基础上发展而来的. 2:Object-Oriented C++:C++面向对象. 3:Template C++:C++中的泛型编程. 4:STL:这是一个标准模板库. 条款2:尽量以const.enum.inline替换#define const的好处: define直接预编译时常量替换,出现编译错误不易定位(不知道常量是哪个变量) define没有作用域,const有作用域提供了封装性 enum的好处: 提供…
Hi guys, I am happy to tell you that I am moving to the open source world. And Java is the 1st language I have chosen for this migration. It's a nice chance to read some great books like "Effective Java 2nd Edition" and share the note for what I…
前言:C语言中的数组指针和指针数组 数组指针,是指向数组的指针的缩写:指针数组,是存放指针的数组的缩写.其实很多时候,往往因为简写和缩写带给我们很多困惑.我曾想过不用简称去学习,但在很多时候,我们查询的书籍文档和文章中还是会频频出现这样的简称,所以有必要扣一下字眼了. ];//[]优先级大于*,所以p是一个数组,数组中存放3个指向int的指针,这也就是指针数组. ];//先看括号,p1是一个指针,指向一个数组,数组的类型为int,这也就是数组指针. 无论在<c和指针>还是<Effecti…
0. Google C++编程规范 英文版:http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml 中文版:http://zh-google-styleguide.readthedocs.org/en/latest/google-cpp-styleguide/contents/ 1. C++函数的林林总总 2. Effective C++学习笔记 (1) 习惯c++,const特性 (2) 构造.析构.赋值.copy and…
章节回顾: <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…