Разница между функциями vector::begin() и vector::cbegin() в C++ заключается в возможности изменения элементов вектора. 12
vector::begin() возвращает итератор произвольного доступа, который указывает на первый элемент в векторе или на элемент, следующий за пустым вектором. 1 Если возвращаемое значение begin() назначить объекту vector::const_iterator, объект вектора нельзя изменить. 1 Если возвращаемое значение begin() назначить объекту vector::iterator, объект вектора можно изменить. 1
vector::cbegin() возвращает постоянный итератор произвольного доступа, указывающий на первый элемент в векторе. 1 При возвращаемом значении cbegin() элементы в диапазоне не могут быть изменены. 1 Эту функцию-член можно использовать вместо функции-члена begin(), чтобы гарантировать, что возвращаемое значение будет const_iterator. 1