这个问题指的是:
我什么时候应该使用新的 ranged-for,我可以将它与新的 cbegin/cend 结合使用吗?
基于该问题,要强制使用cbegin()
and cend()
,需要执行以下操作,例如:
for (auto& v: const_cast<decltype(container) const>(container))
对于一个应该消除它的构造来说,这是很多样板代码。有没有更紧凑的方法来做到这一点?我提出问题的原因是,隐式共享容器可能会将我begin()
用作分离自身的线索。