1.表达式和语句:c++将赋值表达式的值定义为左侧成员的值.比如 maids =( cooks =4 ) + 3 maids的值为7
2.从表达式转到语句:加 ;
3.副作用:计算表达式的时候对储存在变量的值进行了修改.
顺序点:进入下一步之前确保对所有的副作用就进行了总结
4.对于内置类型,使用前缀格式或后缀格式效率差不多.对于类而言,前缀函数是将值+1然后返回结果;后缀格式是先复制一个副本,将其+1然后返回这个副本.所以对于类来说使用前缀格式效率更高.
5.递增/递减运算符和指针:前缀递增递减和解除引用运算符优先级相同,以从右到左的顺序结合.后缀递增和递减的优先级比前缀运算符高,这两个运算符从左到右的方式结合.
*++pt : 将++应用于pt 然后获得pt的值
++*pt: 获得pt指向的值,然后将值+1
(*pt)++: 获得pt指向的值然后将其+1
*pt++: 将pt++后获得pt指向的值
6.逗号运算符:将两个表达式合二为一
7.c++将c风格的字符串视为地址.c风格的字符串比较:strcmp(按照系统编码顺序),直接运算符比较比较的是地址.
string类字符串可以用关系运算符比较
8.类型别名:
#define aliasName typeName 例如: #define BYTE char :将BYTE作为char类型的别名,预处理器会在编译时将所有的BYTE 替换为 char
tydef typeName aliasName 例如 typedef char* byte_pointer
#define不适合声明一系列的变量,typedef是更佳的方法.
9.cin忽略空格和换行符,并且发送给cin的输入被缓冲,只有用户按下回车键才会被发送给程序,空格和回车等是不包含在计数内的;
cin.get(ch)可以读取输入中的下一个字符,把值赋给ch,空格和回车包含在计数内;
10.文件结尾条件(EOF)表示输入结束,在很多pc环境可以用Ctrl+Z来模拟;用cin.fail()或cin.eof()可以判断是否检测到EOF(事后检测)
11.cin方法遇到EOF中cin将不再读取输入,再次调用cin也没用.使用c.clear()可以清楚EOF标记(部分系统中可以,部分系统中将无法恢复输入输出)
12.c++中二维数组的本质是元素是数组的一维数组
构造一个存储字符串的数组:
可以用二维素组: char strArray[size][strSize] :元素是字符数组的数组
可以用指针数组: char * strArray[size] 元素是char*l指针的数组
可以用string类的数组 String strArray[size] 元素是string类型对象的数组