1.一般应该把内联定义放在头文件里。当编译器看到这个定义时,它把函数类型(函数名+返回值)和函数体放到符号表里。当使用函数时,编译器检查以确保调用是正确的且返回值被正确使用,然后将函数调用替换为函数体,因而消除了开销。
2.在类中内联函数的最重要的用处之一是用于一种叫存取函数的函数。这是一个小函数,它容许读或修改对象状态—即一个或几个内部变量。
3.假如我们要显式或隐含地取函数地址,编译器也不能执行内联。因为这时编译器必须为函数代码分配内存从而为我们产生一个函数的地址
4.虽然函数g( )还没有定义,但在函数f( )里对函数g( )进行了调用。这是可行的,因为语言定义规定非内联函数直到类声明结束才赋值。
5.然而当在标准C预处理器(通过继承也是C + +预处理器)里使用3个特别的特征时却是例外:字符串定义、字符串串联和标志粘贴。
字符串定义的完成是用#指示,它容许设一个标识符并把它转化为字符串,然而字符串串联发生在当两个相邻的字符串没有分隔符时,在这种情况下字符串组合在一起。在写调
试代码时,这两个特征是非常有效的。
#define DEBUG(X) cout<<#X " = " << X << endl
6.开发指南应该是“首先是使它起作用,然后优化它."