我使用这个测试代码:
cout<<std::is_assignable<int, int>::value<<endl;
cout<<std::is_assignable<int, char>::value<<endl;
cout<<std::is_assignable<int&, int>::value<<endl;
cout<<std::is_assignable<int&, char>::value<<endl;
cout<<std::is_assignable<int, int&>::value<<endl;
cout<<std::is_assignable<int, char&>::value<<endl;
vs2012中的结果是:
true
true
true
true
true
true
在 gcc4.7.2 我得到:
false
false
true
true
false
false
根据标准,哪个结果是正确的?