《Thinking In C++》
文章平均质量分 67
pocketmatrix
这个作者很懒,什么都没留下…
展开
-
chap11 reference
There are certain rules when using references: (1)A reference must be initialized when it is created. (Pointers can be initialized at any time.) (2)Once a reference is initialized to an object, it ca转载 2008-11-01 05:18:00 · 310 阅读 · 0 评论 -
chap12 operator overload
两种方式 (1)friend function //xxx.h class Integer { long i; public: Integer(long ll = 0) : i(ll) {} friend const Integer operator+(const Integer& left,const Integer& right); //对于输入输出只能用这种方式 friend转载 2008-11-01 05:19:00 · 458 阅读 · 0 评论 -
chap1--chpa7
declaration vs. definition A declaration introduces a name – an identifier – to the compiler. It tells the compiler “This function or this variable exists somewhere, and here is what it should look转载 2008-11-01 05:13:00 · 307 阅读 · 0 评论 -
chap8 const
#define VS. const #define BUFSIZE 20 const int bufsize = 20; preprocess time compiler time no type checking type checking const变量没有放在内存中,放在符号表,编译时是文件内部链接,其他的文件不可见,一定要可见,需使用 extern,转载 2008-11-01 05:15:00 · 351 阅读 · 0 评论 -
chap9 inline function
macro 缺点: (1)#define F (x) (x + 1) ~~多余的空格,造成的错误很难找到 (2)对于macro里的每一项都要用括号括起来,如 #define FLOOR(x,b) x>=b?0:1,如此调用 if(FLOOR(a&0x0f,0x07))....,等价于 if(a&0x0f>=0x07?0:1)...,由于>=的优先级高于&造成结转载 2008-11-01 05:16:00 · 318 阅读 · 0 评论 -
chap10 name control
namespace特点: namespace myLib { .... }//(1)没有“;” (2)可以在多个头文件里定义,不算redefinition (3)A namespace definition can appear only at global scope, or nested within another namespace. (4)赋值,如果原来的namespace的名字太转载 2008-11-01 05:17:00 · 317 阅读 · 0 评论 -
chap13 Dynamic Object Creation
内存的三种分配方式 (1)Storage can be allocated before the program begins, in the static storage area. This storage exists for the life of the program. (2)Storage can be created on the stack whenever a parti转载 2008-11-01 05:20:00 · 392 阅读 · 0 评论