1、变量的定义
声明变量的基本语法如下:
type variableName;
其中 type 是变量的类型,variableName 是变量的名称。
另外,可以在声明变量时进行初始化,如:
int d = 3, f = 5; // 定义并初始化 d 和 f
变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。我理解为,在创建变量时相当于在干两个事情,一、找一个存储变量的地址;二、往上面存储值(有初始化时)。
2、C++ 中的左值(Lvalues)和右值(Rvalues)
理解C++的左值和右值,可以更好地理解变量的定义。
C++ 中有两种类型的表达式:
- 左值(lvalue):指向内存位置的表达式被称为左值(lvalue)表达式。左值可以出现在赋值号的左边或右边。
- 右值(rvalue):术语右值(rvalue)指的是存储在内存中某些地址的数值。右值是不能对其进行赋值的表达式,也就是说,右值可以出现在赋值号的右边,但不能出现在赋值号的左边。
以下是一些左值的例子:
- 变量名:
int x;这里的x是一个左值。 - 数组元素:
int arr[5];arr[0]是一个左值。 - 结构体的成员:
struct S { int a; };S s;s.a是一个左值。 - 引用:
int& ref = x;这里的ref是x的左值引用。
以下是一些右值的例子:
- 文字常量:
5是一个整型右值。 - 临时变量:
(int)(x + 1)这里的(x + 1)是一个右值。 - 返回局部变量的函数:
int func() { return x; }这里的x是一个右值。 - 字符串字面量:
"Hello"是一个字符串右值。
因此,我觉得可以这么理解:在变量定义中,变量名指向该变量存储的地址,而初始化值则将相应内容存储在该变量地址中。
3、变量的声明
(待续...)
本文围绕C++展开,介绍了变量定义,指出其是告知编译器创建变量存储的位置与方式,创建时涉及找存储地址和存储值。还阐述了C++中左值和右值的概念,左值可在赋值号两边,右值只能在右边,并给出了相应示例。
954

被折叠的 条评论
为什么被折叠?



