《C++ Primer》(1)--变量与基本类型

《C++ Primer》 Chapter 1 Getting StartedChapter 2 Variables and Basic Types 部分的笔记

  • 修改代码后要立即更新注释
  • 某个循环初始化时定义的变量只能在此循环中使用(P13)
  • reference to const,而无const reference.虽然后者的意思就是reference to const。(P61)
  • pointer to constconst pointer是不同的。pointer to const是说指向的是常值,const pointer是说恒指向某对象(此对象不一定是const)(P62P63)
  • top-level const意思是自身是constlow-level const意思是被指向的是const。在赋值时,top-level const属性被忽略而low-level const属性必须保持一致。(P64)
  • constexpr int *p = nullptr中的constexpr指的是p是常指针,而不是说p指向的对象是const的,这与const int *q = nullptr不同。(P67)
  • constexpr const int *p = &j中,p是指向常值j的常指针。(P67)
  • typedef char *pstring; const psting cstr = 0;中,pstringchar*的别名,意思是pointer to char,所以cstrconstant pointer to char;而typedef char *cstr中的cstrpointer to a const char。(P68)
  • auto类型的变量必须初始化,这也是容易想的。不然怎么推断出它是什么类型呢(P69)
  • compound typesauto需要再看几遍(P69)
  • decltype((variable)) is always a reference type,but decltype(variable)is a reference type only if variable is a reference.(P71)