1.开始
请注意return语句末尾的分号
程序猿常常在调试时添加打印语句。这类语句应该保证“一直”刷新流。否则,如果程序奔溃,输出可能还保留在缓冲区中,从而导致关于程序崩溃位置的错误推断
输入文件结束符的方法
windows:Ctrl+Z 然后 Enter
UNIX/Mac OS X:Ctrl+D
选择了一种缩进风格后就要一直坚持使用
2.变量与基本类型
切勿混用带符号类型和无符号类型,如果表达式既有带符号类型又有无符号类型,带符号数会自动转化为无符号类型
对象是指一块能存储数据并具有某种类型的内存空间
初始化不是赋值,初始化的含义是创建变量时赋予其一个初始值,而赋值是把对象当前的值擦除,而一直以一个新值代替
定义于函数内的内置类型对象如果没有初始化,则其值未定义。类的对象如果没有显式初始化,则其值由类确定
建议初始化每一个内置类型的变量
变量能且只能被定义一次,但是可以被多次声明
建议当你第一次使用变量时再定义它
引用并非对象,它只是为一个已经存在的对象所起的另外一个名字
解引用仅适用于那些确实指向了某个对象的有效指针
建议初始化所有指针(C++11建议使用nullptr 而不是 NULL)
类型修饰符是声明符的一部分
面对一条比较复杂的指针或引用的声明语句时,从右向左阅读有助于弄清楚它的真实含义
如果想在多个文件之间共享const对象,必须在变量的定义之前添加extern关键字
常量引用是对const的引用
所谓指向常量的指针或者引用,不过是指针或引用“自以为是”自己指向了常量,所以自觉不去改变所指对象的值
一般来说,如果你认为变量是一个常量表达式,就把它声明成constexpr类型
切记:decltype((variable))(注意是双层括号)的结果永远是引用,而decltype(variable)的结果只有当variable本身就是一个引用时才是引用
请注意return语句末尾的分号
程序猿常常在调试时添加打印语句。这类语句应该保证“一直”刷新流。否则,如果程序奔溃,输出可能还保留在缓冲区中,从而导致关于程序崩溃位置的错误推断
输入文件结束符的方法
windows:Ctrl+Z 然后 Enter
UNIX/Mac OS X:Ctrl+D
选择了一种缩进风格后就要一直坚持使用
2.变量与基本类型
切勿混用带符号类型和无符号类型,如果表达式既有带符号类型又有无符号类型,带符号数会自动转化为无符号类型
对象是指一块能存储数据并具有某种类型的内存空间
初始化不是赋值,初始化的含义是创建变量时赋予其一个初始值,而赋值是把对象当前的值擦除,而一直以一个新值代替
定义于函数内的内置类型对象如果没有初始化,则其值未定义。类的对象如果没有显式初始化,则其值由类确定
建议初始化每一个内置类型的变量
变量能且只能被定义一次,但是可以被多次声明
建议当你第一次使用变量时再定义它
引用并非对象,它只是为一个已经存在的对象所起的另外一个名字
解引用仅适用于那些确实指向了某个对象的有效指针
建议初始化所有指针(C++11建议使用nullptr 而不是 NULL)
类型修饰符是声明符的一部分
面对一条比较复杂的指针或引用的声明语句时,从右向左阅读有助于弄清楚它的真实含义
如果想在多个文件之间共享const对象,必须在变量的定义之前添加extern关键字
常量引用是对const的引用
所谓指向常量的指针或者引用,不过是指针或引用“自以为是”自己指向了常量,所以自觉不去改变所指对象的值
一般来说,如果你认为变量是一个常量表达式,就把它声明成constexpr类型
切记:decltype((variable))(注意是双层括号)的结果永远是引用,而decltype(variable)的结果只有当variable本身就是一个引用时才是引用