C++里容易忽视却不能忽视的

1 define 只是简单地文本替换。
2 每个机器的字长不同。
3 每个类型在不同的机器上,所占用的内存空间不同。
4 每个机器内部的字节大小端不同。
5 并不是所有的编译器或机器都支持最新的C++标准。
6 并非所有的编译器都是从右往左执行单行的多个表达式。
7 返回struct时,各个机器有不同的优化手段。因此最好使用指针或引用。
8 并非所有的运算符都可以重载,并非""不能重载。
9 并非所有的编译器都支持'\uxxx'的Unicode。
10 并非所有的默认值都为0。
11 并非所有相同的#pragram都有相同的作用。
12 并非声明了inline编译器就一定会内联。
13 重载和默认参数,肯定会冲突。int Change(int property ,int value = 0); float Change(int property);
调用Change(12);则编译器会抱怨不明确。
14 使用template是有代价的,会导致代码膨胀,编译时间长,各种各样的类型错误但却又不知道哪儿出错。
15 最新的C++标准或特性,说不定就是没用的,只能增加复杂性。
16 reinterpret_cast时,可能会失败。
17 if,switch第一个条件一定会判断,如果命中条件,则不再判断其他条件。

上一篇:jshint创建配置文件


下一篇:【Git使用】SourceTree+Git简单使用(Windows)(转)