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 |
类型转换
-
初始化和赋值进行的转化
将大范围值赋值给小范围类型会导致许多潜在问题,如:double赋值给float会导致精度下降、超出范围等问题。
-
以 {} 方式初始化时进行的转化
列表初始化不允许缩窄,即变量的内省无法表示赋给它的值,如:浮点数不允许转换为整型。
-
表达式中的转化
在计算表达式时,C++将 bool、char、unsigned char、signed char、short ** 转换为 **int ,因为 int 为计算机最自然的类型,意味着计算机使用这种类型时运算速度可能最快。
-
传递参数时的转换 传递参数时的类型转换通常由C++函数原型控制,例:C++将 char 和 ** short** 应用整型提升,将 float 提升为 double。
-
强制类型转换 强制类型转换不会修改变量本身,而是创建一个新的、指定类型的值。
强制类型转换的通用格式如下:
(typeName) value typeName (value)
参考书目 : C++ Primer Plus 第6版
PREVIOUSleetcode每日一题