1.C++采用标准库文件iostream定义的两个对象来实现IO机制。
2.代码注释应解释关键数据的变量含义和代码完成了什么功能,力求简洁易懂。
3.正确理解初始化和赋值,声明和定义的含义?初始化是在定义对象的时候同时赋值,赋值是定义对象和赋值不在同一个时间段。声明是向编译器说明存在这样一个名字,定义是声明名字同时说明名字执行的功能。
4.正确理解指针和引用的含义?指针是一个对象,引用是对象的别名。
5.要养成加const限制符的习惯。
6.使用using/typedef来定义类型别名,可以增加代码的鲁棒性和可移植性。
7.C++11提供auto和decltype来获取对象的类型,其中decltype可以获取引用的类型。
8.编写程序过程中可以采用预处理功能来防止某些内容被重复包含,具体格式为:#ifndef 预处理变量 代码段 #define 预处理变量 代码段 #endif
9.C++在头文件cctype(兼容C语言中的ctype.h)定义了一类判断和处理字符的函数,在头文件cstring(兼容了C语言中的string.h)定义了一类比较和拷贝字符串的函数。
10.C++中只定义了“&&,||,?:,,”等四类运算符的求值顺序,对于其他运算符和函数调用过程中,应尽量避免因运算符两侧的对象或函数实参对象之间有联系而造成的程序二义性问题。
11.对于有符号数和无符号混合运算的问题,如果无符号数>=有符号数或者有符号数类型范围大于无符号数,则将有符号数转化为无符号数计算,否则将无符号数转化为有符号数计算。
12.对于C++中规定的显示类型转换,static_cast替代了C中的全部强制类型转换(不能解决底层const问题),而const_cast用于改变对象的底层const属性问题。
13.运算符的优先级公式:“单算移关与,异或逻条赋”。
14.C++中定义了一套try-throw异常发现抛出,catch异常捕获处理机制及一组标准异常类。
15.参数传递分为值传递和引用传递两种方式。
16.C++提供initialize_list,可变参数模板,省略符来处理一类未知实参个数的函数问题。
17.C++提供直接声明(用指针名代替数组名或函数名,记得加括号)、using/typedef类型别名,尾后返回类型和decltype(指向的 数组类型/函数声明已知)的方法完成对数组/函数指针的声明。
18.函数指针可以作为函数的形参,用于解决一类问题,可以增强代码的鲁棒性。
19.函数重载的条件是相同作用域、同名函数、不同参数列表。返回值和顶层const不能作为重载的判定依据。
20合理使用默认形参(部分参数默认已知)、inline函数(功能类似于宏替换)和constexpr函数(定义常量表达式)。