169 похожих чатов

А почему, строи же будут копироваться в процедуру, зачем такое?

17 ответов

29 просмотров

счетчик. не строки я предпочитаю везде писать const, где не предполагается обратное

Обычная строка AnsiString это указатель, там нечего копировать. А вот большие структуры или статические массивы будут, но на современном железе это не проблема. Проблема, что стек могут сожрать, но это надо знатно говнокодить, чтобы такое случилось.

notme
Вот так видимо и родился питон 😁

Все функциональные языки с иммутабельностью. А также новые модные компиляторы, в которых можно даже в отладчике фарш (то есть стейт) обратно прокрутить.

Viktor Akselrod 💻
счетчик. не строки я предпочитаю везде писать cons...

Вот это кстати не очень хорошо, я например всегда брюжжу когда человек везде лепит const не думая и причина простая, программист должен полностью понимать то что он пишет и знать где const необходим и к чему это приведет если его в нужном месте не поставить. Если он идет везде даже там где не нужно (это же относится и к другим префиксам типа packed array) то возникает сомнение в профпригодности автора. (к тебе не относится если что :)

Александр (Rouse_) Багель
Вот это кстати не очень хорошо, я например всегда ...

Я добавляю аргументам const сознательно и причин несколько: 1) ускорение в случае передачи by ref 2) ограничение в случае, если нужен запрет на модификацию 3) самодокументация кода(похоже на 2, но в случае классов реальный запрет на изменение не работает)

Viktor Akselrod 💻
Я добавляю аргументам const сознательно и причин н...

для всех параметров или мы сейчас только про строки? Ибо const Integer - ну это избыточно и примениво только для виртуальных функций чтобы в наследниках кто чо глупого не написал

Viktor Akselrod 💻
Я про все типы аргументов

хз-хз, как по мне это плохой подход

Александр (Rouse_) Багель
хз-хз, как по мне это плохой подход

Меня в свою очередь вымораживает повсеместное var вместо out (в случае неавтотипов)

Viktor Akselrod 💻
Меня в свою очередь вымораживает повсеместное var ...

out даент оверхэд делая дополнительную инициализацию

Евгений- Автор вопроса
Viktor Akselrod 💻
Меня в свою очередь вымораживает повсеместное var ...

Ну так var нужен если провести нужно насквозь.

Viktor Akselrod 💻
Для автотипов только

для строки например будет дергаться UStrClear не нужный

Александр (Rouse_) Багель
для строки например будет дергаться UStrClear не н...

Строка, дин массив это и есть автотипы. Опять же я говорю про неуместные использование модификаторов

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта