У меня есть простой вопрос:
Есть ли способ сделать число strlen()
-подобных символов в массиве char16_t
с нулевым завершением?
С++ 11 char16_t strlen-эквивалентная функция
Ответ 1
использование
char_traits<char16_t>::length(your_pointer)
см. 21.2.3.2 struct char_traits<char16_t>
и таблицу 62 С++ 11-Std.
Ответ 2
Используйте указатели:), создайте дубликат указателя на начало, затем пропустите его while (*endptr++);
, затем длина будет указана endptr - startptr
. Вы можете на самом деле создать шаблон, но его возможный компилятор не будет генерировать тот же внутренний код, который он делает для strlen
(для разных размеров c).