相关疑难解决方法(0)

施放的结果是左值?

int a = 0;
Run Code Online (Sandbox Code Playgroud)

那么是标准C++中(int)a右值

不同的编译器显示此代码的不同结果:

#include <iostream>
using namespace std;

void f(int& x)
{
    cout << "l value" << endl;
}

void f(int&& x)
{
    cout << "r value" << endl;
}

int main()
{
    int a = 0;
    f((int)a);
}
Run Code Online (Sandbox Code Playgroud)

编译器有不同的结果:

1)http://cpp.sh/2r6

2)http://webcompiler.cloudapp.net/

c++ standards casting lvalue visual-c++

15
推荐指数
3
解决办法
1174
查看次数

VisualStudio 2013中的备用标记(不是,等等)

"not","and"等等是C++中的关键字(C中的宏).有没有办法在Visual Studio 2013中"启用"它们?我可以使用iso646.h包含的宏作为宏.但VS似乎无法将它们视为关键字.

c++ visual-studio-2013

4
推荐指数
1
解决办法
823
查看次数