счетчик. не строки я предпочитаю везде писать const, где не предполагается обратное
Обычная строка AnsiString это указатель, там нечего копировать. А вот большие структуры или статические массивы будут, но на современном железе это не проблема. Проблема, что стек могут сожрать, но это надо знатно говнокодить, чтобы такое случилось.
Вот так видимо и родился питон 😁
Все функциональные языки с иммутабельностью. А также новые модные компиляторы, в которых можно даже в отладчике фарш (то есть стейт) обратно прокрутить.
Вот это кстати не очень хорошо, я например всегда брюжжу когда человек везде лепит const не думая и причина простая, программист должен полностью понимать то что он пишет и знать где const необходим и к чему это приведет если его в нужном месте не поставить. Если он идет везде даже там где не нужно (это же относится и к другим префиксам типа packed array) то возникает сомнение в профпригодности автора. (к тебе не относится если что :)
Я добавляю аргументам const сознательно и причин несколько: 1) ускорение в случае передачи by ref 2) ограничение в случае, если нужен запрет на модификацию 3) самодокументация кода(похоже на 2, но в случае классов реальный запрет на изменение не работает)
для всех параметров или мы сейчас только про строки? Ибо const Integer - ну это избыточно и примениво только для виртуальных функций чтобы в наследниках кто чо глупого не написал
Я про все типы аргументов
хз-хз, как по мне это плохой подход
Меня в свою очередь вымораживает повсеместное var вместо out (в случае неавтотипов)
out даент оверхэд делая дополнительную инициализацию
Ну так var нужен если провести нужно насквозь.
Для автотипов только
для строки например будет дергаться UStrClear не нужный
Строка, дин массив это и есть автотипы. Опять же я говорю про неуместные использование модификаторов
Обсуждают сегодня