逗号表达式,最后返回值就是最后一个元素0
加上\的就是转义字符,转义字符就是一个字符
\为转义字符,\72转义为一个八进制数72,也就是十进制数的58
赋值给a,a就是一个ascii码为58的字符。
?代表一个字符,*代表一个或多个字符
宏定义:
最后的结果是(2+3)-(2+3)*5=-20
二维数组是指针的指针
要不就是两个括号,要不就是两个 **,要不就是一个[]一个 *。
#就是预处理指令
(1)头文件包含#include
(2)宏定义 #define
(3)条件编译 #ifdef #endif
A,表示A是基类,B是派生类,向上级类型转换是隐式的,因为部分元素丢弃可以自动完成,向下转型是显式的因为不知道应该增加的值是什么。所以B不能。
答案C,Operator除了表示函数重载操作符,还可以表示B类型可以装换为A类型。这个知识点就有点偏了。
答案D,拷贝构造函数, B b = A 肯定是可以的。
##是一种分隔连接方式,它的作用是先分隔,然后进行强制连接
“name”和第一个“”之间被分隔了,所以预处理器会把name####type##type解释成4段:“name”、“”、“type”以及“_type”,name和type会被替换,而_type不会被替换
必须作为类成员重载的有
等于括号箭头牛逼
<<可以作为友元重载
所以内联可能会减小可执行文件的大小!不是只会增大