C++ 基础类型与变量
C++ 是静态类型语言。变量在编译期就有确定类型。
常见基础类型
int:整数。long long:更大范围整数。double:双精度浮点数。char:字符。bool:布尔值。
int age = 18;
double score = 95.5;
bool ok = true;
初始化
推荐使用花括号初始化:
int x{10};
double y{3.14};
它可以减少隐式窄化转换带来的错误。
作用域
变量只在声明它的作用域内可见。局部变量离开作用域后生命周期结束。
不是所有 int 都一样
面试或工程代码里经常会出现一个问题:整数范围到底够不够?int 通常是 32 位,但标准并不要求它一定是固定大小。写业务代码时,如果数据范围可能超过 20 亿,直接使用 long long 会更稳妥。涉及二进制协议、文件格式或网络包时,则应该使用 std::int32_t、std::uint64_t 这类固定宽度类型。
浮点数也不是数学里的实数。double 能表示很大范围的数,但不能精确表示所有小数。比较浮点数时,不要直接写 a == b,更常见的做法是比较误差:
bool almost_equal(double a, double b) {
return std::abs(a - b) < 1e-9;
}
我会怎么记
变量类型不是语法装饰,而是在告诉编译器:这块内存应该怎样解释、怎样参与运算、怎样拷贝和销毁。理解这一点后,后面学习引用、指针、对象布局时会顺很多。
评论
...正在读取评论。