C++ Prime 5th 总结

Overview

  • 在子函数内部生命的static变量可以引用传出函数外,还继续有效

  • nullptr vs void* vs NULL nullptr C++11出现,用于指针,方便与int区分 void* 类型,类似全能指针,赋值后,可以随意转化类型 NULL - value,指向Nothing

  • int p1,p2 : p1是指针,p2是int, 仅用于装饰,最好放后面

  • const对象仅在文件中有效,加extern可以外部有效

  • & 引用

1  int *p;
2  int *&r = p;
  • 顶层const(top level) 指针本身是常量 / 底层const(low level) 指针所指对象是常量
1  const int * const p3 = p1
  • 非常量可以转换为常量,反之不行

  • constexpr c++11 出现,仅对指针有效,编译过程中就已经计算好

  • typedef vs using

1using SI = Sales_item;
2typedef double wages;
  • auto 类型 C++11 根据初始赋值定义类型

  • decltype 类型 C++11 (类似函数定义)

1decltype(f(x)) sum = x;
  • 头文件中不应该加using

  • string对象不存换行符,使用cin读取也不存空格

  • getline 有空格,但没有换行