Вопрос по const, c++ – const (c ++) является необязательным?
============================================================

согласно некоторым урокам, которые я читал некоторое время назад,**«Уста»** объявление делает переменную «константой», то есть она не может измениться позже.  
Но я нахожу это объявление const неудобным, так как компилятор иногда выдает такие ошибки, как  
`"cannot convert const int to int"`  
или что-то типа того.

и я обманываю, удаляя это так или иначе.

**вопрос:** при условии, что**я стараюсь не менять переменную в моем исходном коде**Могу ли я с радостью забыть об этом const материале?

заранее спасибо

 когда начинают использовать ключевое слово const. Поверьте мне, это действительно помогает. Оставьте это на усмотрение компилятора, чтобы позаботиться о значении переменной, вместо того, чтобы вы никуда не меняли ее значение.



 особенно в отношении ссылок. Рассматривать:

Если вы считаете 'const' необязательным и избавляетесь от него:



 да. Но человеку свойственно ошибаться. Кроме того, вы не даете компилятору возможность оптимизировать эти константы.

Появляется сообщение об ошибке, потому что вы пытаетесь изменить`const int`, Просто присваивая значение (неконстантному)`int`, вы измените это, как вы хотите.

Const помогает вам, постарайтесь разбросать его побольше и послушайте компилятор. Это поможет вам создавать лучший код.



ько потому, что иногда допускаете ошибку? Лучше попробуй и научись избегать ошибок с`const` и вы извлекаете пользу из огромной помощи, которую он добавляет, чтобы обеспечить корректность вашего кода.

Конечно, вы можете попрощаться со всей помощью, которую предоставляет язык, и сказать компилятору, таким образом, больше не сообщать вам об ошибках в вашем коде. Вместо этого вам придется позже спросить отладчик, где находятся ваши ошибки. Не уверен, что так лучше.



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

Есть некоторые проблемы с нотацией c ++, потому что константу можно только инициализировать, а не назначать в первый раз, и иногда у вас нет значения во время инициализации.

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

Иногда у вас есть значение, которое обычно должно быть константным, но вы хотите выборочно переопределить его, когда оно семантически имеет смысл. Например, номера социального страхования не меняются, если только ваша личность не украдена. Таким образом, у вас есть только один метод с именем createNewSSN (), который изменяет в противном случае постоянную ssn



Можно забудьте об этом, но разве это не хорошо, если компилятор навязывает это вам? Таким образом, ваши «постоянные» переменные на самом деле остаются постоянными.



и к функции (делая ее неспособной изменить другие вещи).

Я использую «const» не только для того, чтобы помешать моему коду изменить мою переменную. Это сделано для того, чтобы код какого-то идиота не мог изменить мою переменную (особенно, если идиот - это я через шесть месяцев) и чтобы мой код не мог изменить критическую переменную, которую оставил какой-то идиот (особенно, если идиот был мной шесть месяцев назад).



 с кем вы работаете, никогда не ошибаются, использование const в ваших объявлениях методов помогает документировать ваш интерфейс.



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



Да, ты можешь. Но только если вы осторожны, и все остальные, кто использует ваш код с настоящего времени до бесконечности, также осторожны.

Итак, в итоге вам лучше подумать, почему выдолжен сделай что нибудь`const` и когда ты не должен.

Еще один метод изучения того, почему const имеет значение - попытаться сделатьвсе const сначала, пока у вас не будет веских причин что-то изменить, затем, и только потом, удалите минимальное количество conts, пока оно не заработает снова.

Рад видеть, что вы думаете о проблеме - это больше, чем большинство.



 что вы гарантируете ошибки компилятора при попытке изменить значение переменной, когда она была предопределена (используя`const`) что вы НЕ хотите этого делать. Он по сути встроен в проверку ошибок и полезен по многим причинам.

Это особенно ценно в таких случаях, как внешний интерфейс и открытые методы, как способ гарантировать вызывающей стороне, что переданное значение не будет изменено.

`const` также фиксирует намерение не изменять и предотвращает случайное назначение.

Делая`const` Использовать обязательно не нужно, это очень полезно и полезно.

Вот полезное объяснение, которое вы можете проверить:<http://duramecho.com/ComputerInformation/WhyHowCppConst.html>