变量

在程序中,我们经常需要存储一些会变化的数据,例如用户年龄、计数器、计算结果等。

如果将这些数据直接写死在代码中,不仅无法修改,还会导致代码难以维护。因此,C++ 提供了 变量(Variable) 来解决这个问题。

变量的本质其实就是一块内存空间的名字,可以通过这个名字进行读取数据或修改数据。

定义变量

在 C++ 中,定义一个变量必须为其指定一个数据类型,如果没有指定数据类型则会出现错误。

定义语法:

数据类型 变量名称;
short age;  // 定义了一个名为 age 的变量,但没有对其进行初始化

重要

对于未进行初始化的变量其值也是未定义的(垃圾值),使用未初始化的变量会导致未定义行为。

初始化变量

通常我们在定义一个变量的时候会给这个变量一个初始值,在不对其进行额外的赋值等操作时此变量的值永远都是所设定的初始值。

传统写法

定义且初始化语法:

数据类型 变量名称 = 变量的值;
short age = 18;  // 定义一个名为 age 的变量,并设定初始值 (默认) 为 18

现代写法(列表初始化):

数据类型 变量名称{变量的值};
short age{18};

{ }(列表初始化) 是从 C++ 11 开始的核心语法,它的特性就是禁止 “隐式缩窄”。

例如:

int a = 3.14;   // 可以编译,但会变成 3(精度丢失)double → int(缩窄转换)
int a{3.14};    // 直接提示编译错误,{} 会阻止危险的数据丢失

int a;          // 未初始化(垃圾值)
int b{};        // 安全, b 会被初始为 0

之所以它的名字叫做 “列表初始化" 是因为它可以初始化多个值(列表)

例如数组:

int arr[]{1, 2, 3, 4};

多变量定义

定义语法:

数据类型 变量名称, 变量名称, N+;
short a, b, c; // 在数据类型相同的情况下定义多个变量。

多变量初始化

初始语法:

数据类型 变量名称 = 变量的值, 变量名称 = 变量的值, N+;
short a = 123, b = 456, c = 789;

现代写法

short a{1};
short b{2};
short c{3};

语法规范

在 C++ 编程中使用变量时须严格遵守如下准则:

  • 变量名中只能使用英文字母、数字、下划线 (_) 来命名。

  • 变量名禁止使用数字开头

  • 变量名严格区分⼤⼩写,例如"Name"和"name"是不同的变量。

  • 禁止使用 C++ 中的任意关键字作为变量名称。

通用语法:

  • 下划线命名法(Snake Case):变量名中的每个单词都⽤下划线_分隔,如my_variable_name。

  • ⼩驼峰命名法(lowerCamelCase):第⼀个单词以⼩写字⺟开始,后续单词的⾸字⺟⼤写,如 myVariableName。这种⻛格在变量命名中较为常⻅。

  • 帕斯卡命名法(PascalCase),每个单词的⾸字⺟都⼤写,如MyVariableName。这种⻛格常⽤于类名、结构体名等。

备注

对于变量的命名应该起到见名知意的效果例如 age 让人一看就知道它代表年龄,而不是随便输入几个字母这会导致后期维护变得异常困难。

部分软件开发公司也会在公司内部规定一份编程语法同时也有来自大厂开源的编程语法规范。