为什么std::reverse_iterator::operator[]的返回类型未指定? 我想知道,为什么在C++中,返回类型是未指定的。它不应该是std::reverse\u iterator::reference?
这实际上是一种多余的放松;从和(以上)开始,迭代器的返回类型为什么std::reverse_iterator::operator[]的返回类型未指定? 我想知道,为什么在C++中,返回类型是未指定的。它不应该是std::reverse\u iterator::reference?,c++,c++11,stl,language-lawyer,C++,C++11,Stl,Language Lawyer,这实际上是一种多余的放松;从和(以上)开始,迭代器的返回类型运算符[]应可转换为参考。在改变操作符[]的返回类型要求之前,引入此欠规范()的原始LWG问题不幸得到了解决 由于迭代器的运算符[]的返回类型现在被强制转换为引用,因此反向迭代器::运算符[]的返回类型显然可以是引用——在libc++和libstdc++中都是这样。@Columbo您能提供指向它的链接吗?…以及MSVC。要提交LWG问题吗?
运算符[]
应可转换为参考
。在改变操作符[]
的返回类型要求之前,引入此欠规范()的原始LWG问题不幸得到了解决
由于迭代器的
运算符[]
的返回类型现在被强制转换为引用
,因此反向迭代器::运算符[]
的返回类型显然可以是引用
——在libc++和libstdc++中都是这样。@Columbo您能提供指向它的链接吗?…以及MSVC。要提交LWG问题吗?