除了使用表达式之外,我可以使用C++访问对象吗?

sha*_*oth 7 c++ expression data-manipulation language-lawyer

根据C++ 03 3.10/1,每个表达式都是左值或左值.当我用来=为变量赋值时,赋值左边的变量名是左值表达式.它看起来就像我尝试用变量做的一样,它仍然会使用一些表达式.

除了使用表达式之外,有没有办法在C++中操作变量?

Som*_*ame 0

不确定它是否严格回答您的问题,但您可以间接操作变量。例如:

int a;
int *pA = &a;
*pA = 5;
Run Code Online (Sandbox Code Playgroud)

这里 的值a发生了变化,但没有任何涉及 的表达式a。该表达式仅涉及pA.

除此之外,不相关的操作可能会产生副作用,导致变量更改(有意或无意)(例如无意中更改某些变量的内存损坏)。