Почему мы используем указатель на целое число для функции max stl вместо типа данных size_t (который обычно используется) для массива символов в c ++? - PullRequest
0 голосов
/ 18 июня 2020
• 1000 Я нашел для этого указатель на целое число.

ниже - фрагмент кода, в котором я сомневаюсь:

int v [] = {'a', 'c', 'k', 'd', 'e' , 'f', 'h'};

int* i1; 

i1 = std::max_element(v, v + 4); 

Кто-нибудь может мне объяснить почему? Заранее спасибо: -)

1 Ответ

2 голосов
/ 18 июня 2020

Потому что std :: max_element - это не только функция для массивов. Это функция, которая работает с любым итератором. А индексы имеют смысл только для контейнеров с произвольным доступом, поэтому использование индекса в качестве возвращаемого значения излишне ограничивает интерфейс алгоритма.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...