在C++中,常量(Constants)和变量(Variables)的命名、定义及作用有所不同,它们直接影响代码的可读性、安全性,还关乎团队协作效率性和后期维护性,良好的命名规范能让代码更清晰、逻辑更易懂。
1、命名规则(符合标识符定义规则):
由字母、数字和下划线构成,以字母或下划线开头,不能以数字开头。
2、通用命名原则(无论常量还是变量,命名需遵循以下基础原则)
清晰易懂:名称应直观反映其含义或用途,避免模糊的缩写(例如: studentCount 而非 sC;userAge 而非 ua)。
避免使用C++关键字:不能使用 C++ 预留关键字(如 int、class、const 等)。
区分大小写:C++ 区分大小写,age 和 Age 是两个不同的标识符。
字符限制:只能由字母、数字、下划线(_)组成,且不能以数字开头。
3、常量的命名规范
常量是值不可修改的量(用 const 或 constexpr 定义),命名需突出其 “不可变” 特性,通常采用全大写 + 下划线分隔的风格。
普通常量(局部 / 全局)
全大写字母(提高可读性),单词间用下划线分隔,明确区分于变量。
例如:
const int MAX_SIZE = 100; // 表示最大容量的常量
constexpr double PI = 3.1415926535; // 表示圆周率的常量
const std::string DEFAULT_NAME = “Guest”; // 表示默认名称的常量
枚举常量(enum/enum class)
枚举类型名通常用大驼峰式(首字母大写),枚举值用全大写 + 下划线(与普通常量一致)。
例如:
// 传统枚举
enum Season {
SPRING,
SUMMER,
AUTUMN,
WINTER
};
// 强类型枚举(更推荐)
enum class Color {
RED,
GREEN,
BLUE
};
4、变量的命名规范
变量是程序中值可变化的量,命名需体现其存储的数据或作用,常用命名风格有两种:
驼峰命名法(Camel Case)
小驼峰式:首字母小写,后续单词首字母大写,适用于局部变量、函数参数等。
例如:
int studentAge; // 存储学生年龄的变量
double averageScore; // 存储平均分的变量
std::string userName; // 存储用户名的变量
下划线命名法(Snake Case)
单词之间用下划线连接,全部小写
例如:
int total_students; // 存储学生总数的全局变量
float max_temperature; // 存储最高温度的变量
5、常量(Constant)的定义
定义方式
常量是程序运行过程中值不可修改的量,定义时必须初始化,且初始化后无法再赋值。C++ 中定义常量的常用方式有两种:
const 修饰符:定义 “运行时常量”,编译时不强制要求值已知,但其值在初始化后不可修改。
例如:
const 数据类型 常量名 = 初始值;
const int MAX_SIZE = 100; // 数组最大长度(不可修改)
const double PI = 3.14159; // 圆周率(固定值)
constexpr 修饰符(C++11 起):定义 “编译时常量”,要求值在编译期即可确定,可用于需要编译期常量的场景(如数组大小、模板参数)。
例如:
constexpr 数据类型 常量名 = 初始值;
constexpr int MAX_ARRAY_LEN = 50;
int arr[MAX_ARRAY_LEN]; // 编译期确定数组大小,合法
枚举常量(enum/enum class):用于定义一组相关的命名常量(常用于表示状态、选项等)。
例如:
enum class Weekday {
Monday, // 默认为0
Tuesday, // 1
Wednesday = 3, // 显式赋值3
Thursday // 4(自动递增)
};
6、常量(Constant)的作用
表示固定不变的值:用于存储程序中逻辑上不会变化的量(如数学常数、配置参数上限、固定的字符串等),增强代码可读性(用名称代替魔术数字)。
例:用 const int MAX_SCORE = 100 代替直接写 100,代码更易理解。
防止意外修改:通过强制不可修改的特性,避免程序中对关键值(如配置参数、边界条件)的误操作,减少 bug。
优化程序性能:constexpr 常量在编译期计算,可减少运行时的计算开销(如编译期确定数组大小、循环次数等)。
作为函数参数:用 const 修饰函数参数(尤其是引用 / 指针),表示函数不会修改该参数的值,提高代码安全性和可读性(如 void print(const std::string& msg) 表示不修改输入字符串)。
7、变量(Variable)的定义
变量是程序运行过程中值可以被修改的量,定义时需指定数据类型,并可选择性初始化(赋值初始值)。
例如:
数据类型 变量名 = 初始值; // 声明并初始化
int age; // 仅声明(未初始化,值不确定)
double salary = 5000.0; // 声明并初始化
std::string name = “Alice”; // 类类型变量(字符串)
8、变量(Variable)的作用
存储临时数据:用于保存程序运行过程中产生的中间结果(如计算过程中的临时值、用户输入的数据等)。
例:计算两个数的和时,用变量存储输入值和结果:
int a, b, sum;
std::cin >> a >> b; // 存储用户输入
sum = a + b; // 存储中间计算结果
表示动态变化的量:用于描述程序中可能变化的状态(如游戏中的分数、计时器的秒数、用户的操作次数等)。
作为函数参数 / 返回值:在函数间传递数据,实现模块间的交互(如函数参数接收输入,返回值传递输出结果)。