Quick A: There is, in C++14.
From SO:
Is there a way to use standalone std::begin and for a const_iterator?
I like consistency. I recently asked the question of using
std::beginvs. e.g.std::vector<int>::begin, and the unanimous decision seemed to be to use the former since it is more general. But I think I found a stick in the mud. Sometimes, you want to convey you will not change a container as you loop through it, hence callingstd::vector<int>::cbegin. It would make your code quite asymmetric if you sometimes diditer = v.cbegin()and other times diditer = begin(v). Is there a way around this lack of symmetry, and would you still recommendstd::begingiven this knowledge? Why does C++ not havestd::cbegin?

Add a Comment
Comments are closed.