C++学习之四、C++变量
C++ 变量是什么,变量的作用,变量的其它功能。
变量作用
变量用来表征:
- 信息将存储在哪里。
- 要存储什么值。
- 存储何种类型的信息。
变量名命名规则
- 名称中只能使用字母字符、数字和下划线(_)。
- 名称中第一个字符不能是数字。
- 区分大小写。
- 不能将 C++ 关键字用作名称。
- 以两个下划线开头或以下划线和大写字母打头的名称被保留给实现(编译器及其使用的资源)使用。以一个下划线开头的名称被保留给实现,用作全局标识符。
- C++ 对于名称长度没有限制(但是可能系统会对名称长度有限制)。
变量初始化
初始化将赋值与声明合并在一起,如果不对函数内部定义的变量进行初始化,该变量的值将是不确定的。
- 常规方式:
int n_int = INT_MAX;
int one = 1;
- C++ 特有方式:
short n_short(SHRT_MAX);
- C++11 新增方式:
1
2
3int n_int = {INT_MAX}; // 大括号初始化器,又称为列表初始化,大括号初始化器可以用于任何类型,如初始化常规变量和初始化类变量等,这是一种通用的初始化语法
int n_int{INT_MAX}; // 可省略等号
int n_int{}; // 大括号可以不包含任何东西,这种情况将初始化为 0
const 限定符
const
等价于 C 语言中的 #define
,C++ 中推荐使用 const
来声明一个值不可变的变量,也即常量。const
与 #define
相比的好处:
- 它能够明确指定数据类型。
- C++ 作用域规则可将定义限制在特定的函数或文件中。
const
可用于更复杂的类型。const
限定的变量需要直接初始化,之后该变量的值不可改变。
const int MONTH = 12;
auto 声明(自动推断)
C++11 新增了一个工具,让编译器能够根据初始值的类型推断变量的类型。为此,它重新定义了 auto 的含义。
一般用于处理复杂类型。