Вставка - не такая уж частая операция. Но длину можно узнать ОДИН раз, а потом сто раз использовать, а не хранить её ВСЕГДА рядом, занимая память под это.
Ну, достижение, значит. Это огромный плюс, что он передаёт только адрес (ссылку), а потом 100500 раз читает размер.
Зато можно работать с данными напрямую, без заморочек с размером. Можно нарезать их прямо с середины. В любом месте можно встать и поставить начало внутренней строки (подстроки).
Вот там есть пример в библиотеке - strtok() - когда строку можно нарезать на слова, сохраняя указатели на них. Можно и интереснее операции делать - ограничений нет. С размером этой возможности нет, там всё тупо и ограничено.
И что она даёт, эта ненужная проверка длины, когда не нужна длина?
Я передаю строку в функцию - передаётся адрес начала. Я так могу передавать много раз, при этом передаётся только адрес начала.
А тут как минимум надо передать адрес И ДЛИНУ.
Умножаем на миллиард - получаем общее замедление.
Речь-то идёт не только об этих затратах памяти, речь идёт об операциях, которые потом используют этот размер повсеместно по 100500 раз, потому что всё сделано потом с учётом этого размера. Просто прочитать до нуль-символа такую строку нельзя.
Конечно, проходить по всей строке с проверками на нуль-символ, - способ неправильный. Зато можно работать с данными напрямую, без заморочек с размером.
Можно нарезать их прямо с середины. В любом месте можно встать и поставить начало внутренней строки (подстроки). Вот там есть пример в библиотеке - strtok() - когда строку можно нарезать на слова, сохраняя указатели на них. Можно и интереснее операции делать - ограничений нет. С размером этой возможности нет, там всё тупо и ограничено.
Да я могу хоть каталог файлов так сохранить один за другим. Маркерная система - это обычная система, которую придумали ещё до C. В данном случае маркер конца данных - нуль-символ. У тебя нет таких навыков, поэтому все мысли только через размер данных идут.
тогда какая вам разница? к вам прямо завтра не придет 100500 заказчиков.
ставите сервер.
приходят заказчики.
видите, что ресурсы заканчиваются: ставите еще сервер. к тому времени будете уже знать статистику.
в общем случае - память важнее, я уже написал.