cbegin, cend is suitable to use with "auto" otherwise it only restrict compilation with C++03