В этом примере они используют *max_element(vector_name.begin(), vector_name.end());
, а здесь , они использовали *max_element(vector_name, vector_name + 4);
, но когда я использую *max_element(vector_name, vector_name.end());
, возникает эта ошибка:
no matching function for call to ‘max_element(std::vector<int>&, std::vector<int>::iterator)’
max = *max_element(elements, elements.end());
^
Теперь я понимаю, что vector_name
сохраняет адрес в векторе, тогда как vector_name.begin()
возвращает итератор, который сохраняет адрес вектора в качестве своего значения, но я не понимаю, в чем именно разница?