C++ Primer 知识点总结 (第三章)

来源:互联网 发布:java借书系统介绍文档 编辑:程序博客网 时间:2024/06/17 07:44

命名空间

  1. 头文件:可将类、全局变量等在头文件中声明,为了防止头文件的重复包含,通常应该使用预处理指令 #define (定义符号)、#ifndef(如果没有定义)、#endif(结束判断)来书写头文件的内容。

字符串、向量和数组

  1. getline(cin , stringname) :从输入流中读入内容直到读入换行符,保留空白符,但换行符不存入string对象中
  2. 字面值与string:字符字面值和字符串字面值可以隐式转化为string对象
  3. empty 函数根据 string 是否为空返回布尔值; size_type 表示各自类型的长度或下标,返回无符号整数,类型为 string::size_type
  4. 常用函数:islower(c) c是小写字母时为真;isupper(c) c是大写字母时为真 ; tolower(c) c是大写字母时,输出 c 对应的小写字母,否则原样输出 c ;toupper(c) c是小写字母时,输出 c 对应的大写字母,否则原样输出 c ;
  5. 下标运算符:vector或string的下标运算符可用于访问已存在的元素,而不能用于添加元素。添加元素需使用(+= or append or push_back for string) and (insert or push_back for vector)
  6. 迭代器 end() 指向尾元素的下一位置,不指向具体元素,不能解引用或递增
  7. 复杂数组声明的理解:从数组名字开始按照由内向外的顺序阅读,如int (&a)[10]表示a是对数组引用,该数组包含10个int
  8. 数组的缺点:数组的大小是确定不变的,不可以向数组中添加元素,丧失了vectoer的灵活性
  9. 不可以将整个数组赋值给另一个数组,只能逐个元素的拷贝;可以直接将整个vector拷贝给另一个vector
  10. 多维数组初始化:使用花括号的形式,未列出的元素执行默认值初始化
  11. 范围for处理多维数组:除最内层循环外,其他所有循环的控制变量都应该是引用类型,以避免这些数组形式的元素被自动转换成指向数组首元素的指针