Tag: 右值

取一个临时对象的地址

§5.3.1一元运算符,第3节 一元&运算符的结果是一个指向其操作数的指针。 操作数应该是一个左值或者是一个合格的id。 在这种情况下,“应该”是什么意思? 这是否意味着暂时的地址是错误的? 我只是想知道,因为g ++只给了我一个警告,而comeau拒绝编译下面的程序: #include <string> int main() { &std::string("test"); } g ++ 警告 : taking address of temporary comeau 错误 : expression must be an lvalue or a function designator 有没有人有微软的编译器或其他编译器,可以testing这个程序,请? 提前致谢。

为什么++我认为是一个l值,但我不是?

为什么++我是l值? 我不是 最初有两个问题被删除,因为这是完全重复的。 所以不要投票回答增加前后差异的答案。