blog.dopana

Back

C++入门系列第二篇。数据存放在变量中,每个变量都有一个类型,告诉编译器如何解释它的二进制位。

什么是变量#

变量是一块命名的内存,用来存放一个值。使用前必须先声明类型:

int age = 30;
double price = 19.99;
std::string name = "Ada";
bool done = false;
cpp

基本数据类型#

类型大小(通常)含义
bool1 字节truefalse
char1 字节一个字符,如 'A'
int4 字节整数
double8 字节浮点数
void无值(用于函数)

计数用 int,小数用 double。需要不同范围时用 longshortunsigned

初始化方式#

C++ 有多种初始化变量的方式:

int a = 5;       // 拷贝初始化
int b(5);        // 直接初始化
int c{5};        // 花括号初始化(C++11+)
int d{};         // 值初始化,为 0
cpp

优先使用花括号初始化 {}。它会在编译期拒绝会导致数据丢失的窄化转换。

溢出与窄化#

short s = 40000;  // 可能溢出:40000 > short 最大值 (32767)
int   x = 3.7;    // 窄化:3.7 被静默变成 3
cpp

使用花括号时这些代码会在编译时报错,而不是静默破坏数据。

具名常量#

对于不允许改变的值使用 const

const double PI = 3.14159;
cpp

const 值更易于推理,编译器也能更好地优化。

输出与输入#

#include <iostream>

int main() {
    int age;
    std::cout << "Enter your age: ";
    std::cin >> age;
    std::cout << "You are " << age << " years old.\n";
}
cpp

结论#

类型决定了变量能存放什么、哪些运算有意义。本系列下一篇:控制流。

参考资料#