C++ Primer Plus Chapter3

Chapter3 处理数据

变量命名规则

  • 名称中只能使用字母字符、数字、下划线(_)
  • 名称的第一个字符不能是数字
  • 大小写敏感
  • 不能使用关键词作为变量名
  • 以两个下划线或下划线和大写字母大头的名称被保留给实现使用;以一个下划线开头的名称被保留给实现,用作全局标识符
  • C++对于名称的长度没有限制

转义序列

字符名称 C++代码
换行符 \n
水平制表符 \t
垂直制表符 \v
退格 \b
回车 \r
振铃 \a
反斜杠 \\
问号 \?
单引号 \’
双引号 \”

C++基本类型

类型 大小(至少占多少位)
bool 8
char 8
wchar_t 16
char16_t 16
char32_t 32
short 16
int 16
long 32
long long 64
float(6位有效数字) 32
double(15位有效数字) 48
long double(18位有效数字) 80、96、128

类型转换

  1. 初始化和赋值进行的转化

    ​ 将大范围值赋值给小范围类型会导致许多潜在问题,如:double赋值给float会导致精度下降、超出范围等问题。

  2. 以 {} 方式初始化时进行的转化

    ​ 列表初始化不允许缩窄,即变量的内省无法表示赋给它的值,如:浮点数不允许转换为整型。

  3. 表达式中的转化

    ​ 在计算表达式时,C++将 bool、char、unsigned char、signed char、short ** 转换为 **int ,因为 int 为计算机最自然的类型,意味着计算机使用这种类型时运算速度可能最快。

  4. 传递参数时的转换 ​ 传递参数时的类型转换通常由C++函数原型控制,例:C++将 char 和 ** short** 应用整型提升,将 float 提升为 double

  5. 强制类型转换 ​ 强制类型转换不会修改变量本身,而是创建一个新的、指定类型的值。

    ​ 强制类型转换的通用格式如下:

    (typeName) value
    typeName (value)
    

参考书目C++ Primer Plus 第6版