cdsfiui 发表于 2016-06-09 16:10

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]
查看完整版本: auto关键字是否萃取cv-qualifier?