char类型有三种,char,与有符号的,无符号的,但是实际上只有两种char,有符号与无符号的,char是哪一种由编译器决定。
少用float多用double。
无符号超出范围会取mod,而有符号超出范围会报错。
带符号与无符号在一起,带符号会转化为无符号。
若两个char字面值仅由空格,缩进,换行分割则视为一个整体。
开头有0为八进制,有0x为十六进制
\+数字为八进制的char,只管前3个,\x+数字为十六进制的char,管后面的所有。
nullptr是指针的字面值。
事实上在C++语言中,初始化和赋值是两个完全不同的操作。
初始化不是赋值,初始化的含义是剑建变量时赋予其一个初始值,而赋值的含义是把对象的当前值擦除,而以一个新值来替代。
列表初始化的表现形式为使用花括号来初始化,如={}或者{},会在数据精度存在丢失可能的情况下报错。
声明:名称与类型
定义:声明+实体(申请存储空间,初始化等)
对于一个变量加上$extern$关键字且不以显式初始化即表示声明。
当全局变量与局部变量相同的时候,局部变量会在块域内覆盖全局变量。内层的局部变量也会覆盖较外层的局部变量,但当离开作用域后覆盖也会失效,若是要在内层访问全局变量,只需加上作用域解析运算符::即可,但是不能访问较外层但非全局变量的变量。