Le membre begin a deux surcharges dont l'une est const_iterator begin() const;
. Il y a aussi le cbeginconst_iterator cbegin() const noexcept;
. Les deux retournent const_iterator
au début d'une liste. Quelle est la différence?
begin
renverra un iterator
ou un const_iterator
selon la const-qualification de l'objet auquel il est appelé.
cbegin
renverra un const_iterator
sans condition.
std::vector<int> vec;
const std::vector<int> const_vec;
vec.begin(); //iterator
vec.cbegin(); //const_iterator
const_vec.begin(); //const_iterator
const_vec.cbegin(); //const_iterator