auto关键字是否萃取cv-qualifier?
本帖最后由 cdsfiui 于 2016-06-09 16:15 编辑struct A{int i;};
int main(){
const int i=0;
auto ai=i;
ai=2;//OK
const A buf;
for(auto& a:buf)
{
a.i=1;//error!
}
cout<<buf.i<<buf.i<<endl;
}
上面的auto ai=i;开起来没有萃取c/v qualifier,也就是ai是可以修改的
但是for循环有编译错误,error: assignment of member 'A::i' in read-only object
我的问题是:auto不萃取"&",那么auto会萃取c/v qualifier吗? 上面两个结果似乎互相矛盾。语言标准有没有规定?
页:
[1]