在C++中,赋值语句用于将一个值或表达式的结果赋给一个变量。赋值语句的基本语法如下:
cpp复制代码variable = expression;
这里,variable
是你要赋值的变量,而 expression
是一个值或一个能够产生值的表达式。赋值操作符 =
的作用是将 expression
的值赋给 variable
。
当涉及到常量(const
)时,有一些特殊规则需要遵守。常量是一个在程序执行期间其值不能被改变的变量。一旦一个常量被赋值,它的值就不能再被改变。
以下是一些关于变量和常量赋值的例子:
解释
cpp复制代码
// 变量赋值 | |
int a; | |
a = 10; // 正确:将值10赋给变量a | |
// 常量赋值 | |
const int b = 20; // 正确:在声明时初始化常量b,并且它的值不能改变 | |
// b = 30; // 错误:不能修改常量的值 | |
// 尝试修改常量的值会导致编译错误 |
注意事项
- 常量必须在声明时就进行初始化,因为它们的值在程序的生命周期中不能改变。
- 常量可以是任何基本数据类型,包括整型、浮点型、字符型等。
- 常量可以是指针类型,但指针所指向的值不能通过该指针被修改。
- 常量引用是合法的,并且引用的对象在生命周期内不能被修改。
示例:常量引用
cpp复制代码const int& refToConst = 42; // 正确:常量引用绑定到字面量 int x = 10;const int& refToX = x; // 正确:常量引用可以绑定到非常量变量 // refToX = 20; // 错误:不能通过常量引用修改它所绑定的变量的值
在这个例子中,refToConst
是一个常量引用,它绑定到一个字面量 42
。refToX
是一个常量引用,它绑定到变量 x
。虽然 refToX
是一个常量引用,但它所绑定的 x
变量本身并不是常量,只是你不能通过 refToX
来修改 x
的值。
示例:非常量引用与常量
cpp复制代码const int y = 25;int& refToY = y; // 错误:非常量引用不能绑定到常量
在这个例子中,尝试将非常量引用 refToY
绑定到常量 y
会导致编译错误,因为非常量引用可以修改它所绑定的值,而常量 y
的值是不能被修改的。
理解这些关于变量和常量赋值的规则对于编写正确且安全的C++代码是非常重要的。
原文地址:c++赋值语句 assignment statement(变量与常量const)_清华栋哥编程 (17csp.com)