Borodean
@Borodean

Существуют ли преимущества у передачи параметров порядковых типов через const?

Известно, что объявление строковых параметров как константных (через const) положительно сказывается на производительности приложения, но как на счет параметров порядкового типа? Integer? Pointer? Экземпляров классов? И так далее.

Получу ли я что-то, объявив их через const?
  • Вопрос задан
  • 3185 просмотров
Пригласить эксперта
Ответы на вопрос 3
VaiMR
@VaiMR
В первую очередь Вы увеличите читаемость кода. По правилам хорошего тона, функция должна делать одно действие и возвращать одно значение. Объявляя передаваемые параметры как константы, Вы закрепите это утверждение. В плане производительности, серьезного выигрыша для простых типов получить не удастся. Указатели даже полезно передавать в виде констант, чтобы избежать их копирования в стек (по сути бесполезная операция).

Можно заменить обилие констант в качественном С++ коде, это признак четкой декларативности каждой строки кода.
Ответ написан
ixSci
@ixSci
Ничего не получите. Для интегральных типов это бесполезная операция.
Известно, что объявление строковых параметров как константных (через const) положительно сказывается на производительности приложения

Каким образом? При создании строкового параметра const не нужен, ибо если будет строковый литерал то это implicit const. А если это аргумент ф-ии, то это указатель, а он константный ничего не даст.
Ответ написан
@agul
В тегах «Delphi», тогда скажу свое.

Позволяет избежать изменения передаваемых параметров в функцию, т.е. если вы их передали, то внутри функции их не поменяете.
Если в коде будет изменение переданного параметра — компилятор начнет ругаться.

Иногда помогает.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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