根据 C++03 3.10/1 每个表达式要么是左值要么是右值。当我使用 =
为变量分配新值时,分配左侧的变量名称是左值表达式。看起来无论我尝试对变量做什么,它仍然会使用一些表达式。
除了使用表达式之外,还有什么方法可以在 C++ 中操作变量吗?
最佳答案
唯一的方法是通过语句,而不是通过属于此类语句的表达式。一个例子是定义,std::string x;
。这将调用 x
上的默认构造函数。但这算作对您的操纵吗?
实际上,没有那么多其他陈述。循环控制语句不能改变对象本身,除非通过循环控制表达式的副作用。 goto
、break
和continue
根本做不到。 throw
是一个表达式,catch()
不能改变任何东西,所以这对也是无关紧要的。我认为没有其他非表达式语句。
关于c++ - 除了使用表达式之外,我可以访问 C++ 中的对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13800405/