有没有办法使用独立的`std :: begin`和const_iterator?

use*_*963 9 c++ iterator const-correctness c++11

我喜欢一致性.我最近问过使用std::begin与例如的问题std::vector<int>::begin,并且一致的决定似乎是使用前者,因为它更通用.但我想我在泥里找到了一根棍子.有时候,你想传达的是,当你循环通过时,你不会改变容器,因此调用std::vector<int>::cbegin.它将使你有时做你的代码很不对称iter = v.cbegin()等次做iter = begin(v).有没有办法解决这种缺乏对称性的问题,你还会推荐std::begin这种知识吗?为什么C++没有std::cbegin

Her*_*ter 40

C++ 14有cbegin/ cend/ etc.它开始在主要编译器中可用.

  • 并且通过"etc"Herb意味着:`cbegin/cend/rbegin/rend/crbegin/crend` (20认同)