sha*_*oth 7 c++ expression data-manipulation language-lawyer
根据C++ 03 3.10/1,每个表达式都是左值或左值.当我用来=
为变量赋值时,赋值左边的变量名是左值表达式.它看起来就像我尝试用变量做的一样,它仍然会使用一些表达式.
除了使用表达式之外,有没有办法在C++中操作变量?
不确定它是否严格回答您的问题,但您可以间接操作变量。例如:
int a;
int *pA = &a;
*pA = 5;
Run Code Online (Sandbox Code Playgroud)
这里 的值a
发生了变化,但没有任何涉及 的表达式a
。该表达式仅涉及pA
.
除此之外,不相关的操作可能会产生副作用,导致变量更改(有意或无意)(例如无意中更改某些变量的内存损坏)。
归档时间: |
|
查看次数: |
170 次 |
最近记录: |