Учитывая встроенный массив x произвольного типа T, есть функции std::begin()
и std::end()
, которые я могу назвать, но почему нет std::size()
? Кажется странным не иметь этого.Есть ли какая-то функция типа std :: size()?
Я мог бы использовать std::end(x)-std::begin(x)
, но все равно std::size(x)
было бы лучше.
Да, я знаю классы std::vector
и std::array
. Это просто вопрос о том, почему в STL нет ничего такого простого.
Существует std :: distance, похоже на то, что вы ищете – aaronman
Должен ли 'std :: size' работать только для типа, если он дешевый или он должен работать независимо? – Yakk
@Yakk Хороший вопрос. Наверное, независимо. Я считаю, что все типы контейнеров имеют функцию size()? – Adrian