每一个Item都很经典,都需要去思考揣摩,我在这里将要点抽象出来,便于日后快速回忆;我只是在做文章的“搬运工”。
Item 1: 将 C++ 视为语言联合体
1. 这一小节,我在网上找的2个图就能说明一切。
1. 对于#define SOMETHING,编译器也许根本就没有看见这个符号名SOMETHING,在编译器得到源代码之前,这个名字就已经被预处理器消除了。结果,名字SOMETHING就没有被加入symbol table(符号表)。而const double Ratio = 3.1415,Ratio被编译器明确识别并确实加入 symbol table(符号表)。
[使用#deine SOMETHING 很难调试代码]
2. 通常,C++ 要求你为你使用的任何东西都提供一个定义ÿ