Автор Константин Скоморохов задал вопрос в разделе Другие языки и технологии
зачем в программировнии константы? и получил лучший ответ
Ответ от Fest[новичек]
константа-очень важная вещь в программировании, когда изучишь язык поподробнее поймёшь) а сейчас, раз она тебе не нравится можешь ей не пользоваться (потом всё равно придётся)
Ответ от Евгения Троеглазова[гуру]
Константы, конечно, нужны!Очень часто без них бывает невозможно построить сколько-нибудь серьезную программу.Простейший пример: в использовании массивов на С или С++ для задания диапазона возможных значений можно использовать только константу, а переменную нельзя. И компилятор не пропустит.(ну это так, если просто выражаясь...)
Константы, конечно, нужны!Очень часто без них бывает невозможно построить сколько-нибудь серьезную программу.Простейший пример: в использовании массивов на С или С++ для задания диапазона возможных значений можно использовать только константу, а переменную нельзя. И компилятор не пропустит.(ну это так, если просто выражаясь...)
Ответ от Anna Mankulyan[эксперт]
Константы старайся использовать как можно чаще!! ! Еще они предотвращают от такой ошибки, как изменения значения должной константы.. . Например, если гте-то по ошибке константе присвоить значение, то компилятор выдаст ошибку :)) и ты исправишь, а если она не была обозначена как константа, компилятор пропустит и ничего хорошего 🙁
Константы старайся использовать как можно чаще!! ! Еще они предотвращают от такой ошибки, как изменения значения должной константы.. . Например, если гте-то по ошибке константе присвоить значение, то компилятор выдаст ошибку :)) и ты исправишь, а если она не была обозначена как константа, компилятор пропустит и ничего хорошего 🙁
Ответ от Антон -[гуру]
Здесь важна семантика. Если мы решили, что значение в принципе меняться не может, то это и есть случай константы. Неизменность константы гарантируется компилятором."что нам мешает использоваться обычную переменную и просто ее не менять? "Ничто не мешает, но переменная она и есть переменная, её при желании (или случайно) всё-таки изменить можно. А константа задаётся 1 раз, никаких случайных ошибок тут быть не может, компилятор просто не позволит присвоить новое значение.Пример: число "пи", записывать в переменную смысла нет, потому что значение не может и не должно меняться, поэтому это константа.Так же константы позволяют оптимизировать код при компиляции, т. к. значения констант уже известны, в случае с переменными - анализ их значений всегда происходит во время выполнения. Тот же пример с двумерным массивом: его размерность задаётся константами, потому что это позволяет при компиляции вывести формулы для обращения к конкретному элементу.Массив 4 строки на 6 столбцов хранится в памяти непрерывно в виде последовательности из 24 значений.Чтобы обратиться к конкретному элементу (2; 5) программа вычисляет смещение по формуле: 6*2+5 = 17, а если бы размерность задавалась переменными, то после создания массива программа не знала бы ширину массива (длину строки).
Здесь важна семантика. Если мы решили, что значение в принципе меняться не может, то это и есть случай константы. Неизменность константы гарантируется компилятором."что нам мешает использоваться обычную переменную и просто ее не менять? "Ничто не мешает, но переменная она и есть переменная, её при желании (или случайно) всё-таки изменить можно. А константа задаётся 1 раз, никаких случайных ошибок тут быть не может, компилятор просто не позволит присвоить новое значение.Пример: число "пи", записывать в переменную смысла нет, потому что значение не может и не должно меняться, поэтому это константа.Так же константы позволяют оптимизировать код при компиляции, т. к. значения констант уже известны, в случае с переменными - анализ их значений всегда происходит во время выполнения. Тот же пример с двумерным массивом: его размерность задаётся константами, потому что это позволяет при компиляции вывести формулы для обращения к конкретному элементу.Массив 4 строки на 6 столбцов хранится в памяти непрерывно в виде последовательности из 24 значений.Чтобы обратиться к конкретному элементу (2; 5) программа вычисляет смещение по формуле: 6*2+5 = 17, а если бы размерность задавалась переменными, то после создания массива программа не знала бы ширину массива (длину строки).
Ответ от Максим Васильев[мастер]
Для удобства.
Для удобства.
Ответ от Serendipity[гуру]
В объектно-ориентированном программировании всегда, когда функция принимает параметр, должна принимать константную ссылку. Это помогает избежать случайного изменения объекта, когда, например, мы должны получить только адрес переменной, но не должны ее изменять. Или функция также может быть константной, т. к. не должна изменять объект. Напр, функция вывод на экран. Она не должна изменять сам объект.
В объектно-ориентированном программировании всегда, когда функция принимает параметр, должна принимать константную ссылку. Это помогает избежать случайного изменения объекта, когда, например, мы должны получить только адрес переменной, но не должны ее изменять. Или функция также может быть константной, т. к. не должна изменять объект. Напр, функция вывод на экран. Она не должна изменять сам объект.
Ответ от Владимир Ульянов[гуру]
В некоторых технологиях (.Net Framework в частности) кроме констант существуют ещё и ридонли поля (переменные, не меняющие значения) , однако это не одно и то же. Принципиальная разница между константой и переменной состоит в том, что значение константы компилируется и заносится в программу. Это обеспечивает более быстрый доступ к неизменяемым данным, а ридонли переменная всё-таки получает значение при каждом запуске программы, это требует некоторых дополнительных затрат ресурсов.
В некоторых технологиях (.Net Framework в частности) кроме констант существуют ещё и ридонли поля (переменные, не меняющие значения) , однако это не одно и то же. Принципиальная разница между константой и переменной состоит в том, что значение константы компилируется и заносится в программу. Это обеспечивает более быстрый доступ к неизменяемым данным, а ридонли переменная всё-таки получает значение при каждом запуске программы, это требует некоторых дополнительных затрат ресурсов.
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: зачем в программировнии константы?
Модульное программирование. что это такое? подскажите пожалуйста!
Если взять сегодняшнюю Java, то можно (как и в большинстве случаев)
увидеть частичный возврат
подробнее...
подскажите, что такое идентификатор в программировании?
Указатель на объект или область памяти. Есть, например, самолет, а есть его название. Вот
подробнее...
Объясните, что значит значение переменной?
Значение переменной - это какое число, или символ, или что-нибудь еще, соответствует коду,
подробнее...
Как создать свой язык программирования ?
В КГТУ (Технологическом университете) на третьем курсе у нас был курсовик по этой теме. Задача -
подробнее...
что такое операнды?
Операнд - это аргумент операции. Если вы к двум прибавляете три, то выражение будет выглядеть так..
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Bell Labs Stdio h
Файловые функции из библиотек «fstream.h» и «stdio.h». вся информация о них???
stdio.h (от англ. standard input/output header — стандартный заголовочный файл ввода/вывода)
подробнее...
Файловые функции из библиотек «fstream.h» и «stdio.h». вся информация о них???
stdio.h (от англ. standard input/output header — стандартный заголовочный файл ввода/вывода)
подробнее...
спросили в Schneider Windows API
зачем в php константы и и переменные? не вижу в этом смысла, обьясните
PHP Тебе не HTML, а настоящий язык программирования высокого уровня.
Вот в HTML нет переменных
подробнее...
зачем в php константы и и переменные? не вижу в этом смысла, обьясните
PHP Тебе не HTML, а настоящий язык программирования высокого уровня.
Вот в HTML нет переменных
подробнее...
спросили в Язык
языки среднего уровня программирования, это какие? =) а также очень высокого, это тоже какие?
языки программирования делят на два уровня это высокий и низкий. с низких я знаю только ассемблер,
подробнее...
языки среднего уровня программирования, это какие? =) а также очень высокого, это тоже какие?
языки программирования делят на два уровня это высокий и низкий. с низких я знаю только ассемблер,
подробнее...
спросили в Pavel Prusskiy
Народ, как задается двумерный массив в паскале??
Массивы, положение элементов в которых описывается двумя индексами, называются двумерными.
подробнее...
Народ, как задается двумерный массив в паскале??
Массивы, положение элементов в которых описывается двумя индексами, называются двумерными.
подробнее...
спросили в SysML
Табуляция Что такое табуляция и зачем она?
Материал из Википедии — свободной энциклопедии
Горизонтальная табуляция (HT, TAB) —
подробнее...
Табуляция Что такое табуляция и зачем она?
Материал из Википедии — свободной энциклопедии
Горизонтальная табуляция (HT, TAB) —
подробнее...
как объяснить преподавателю по информатике, что такое массив ...
Массив - набор однотипных данных.
Алфавит - это тоже массив. (а б в г д ...)
Набор каких-то
подробнее...
спросили в SATA Express Studio 4°C
Как научится программировать на C++?
вы решили изучить язык, поэтому выбрали крайне сложную задачу.
звучит примерно так - решил
подробнее...
Как научится программировать на C++?
вы решили изучить язык, поэтому выбрали крайне сложную задачу.
звучит примерно так - решил
подробнее...