vector<int> v1;
const vector<int> v2;
//auto it1 = v1.begin(), it2 = v2.begin();
// it1 and it2 have different type, thus need be seperated into two statements.
auto it1 = v1.begin();
// the type of `it1` is `vector<int>::iterator`
auto it2 = v2.begin();
// the type of `it2` is `vector<int>::const_iterator`
auto it3 = v1.cbegin(), it4 = v2.cbegin();
// the type of `it3` and `it4` is `vector<int>::const_iterator`