Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

is const (c++) optional?

Tags:

c++

constants

according to some tutorials i read a while back, the "const" declaration makes a variable "constant" ie it cannot change later.
But i find this const declaration abit inconveniencing since the compiler sometimes gives errors like
"cannot convert const int to int"
or something like that.

and i find myself cheating by removing it anyway.

question: assuming that i am careful about not changing a variable in my source code, can i happily forget about this const stuff?

Thanks in advance

like image 575
Dr Deo Avatar asked Nov 27 '22 20:11

Dr Deo


2 Answers

Are you serious? Why would you want to give up on such a useful feature just because you make a mistake sometimes? Better try and learn to avoid mistakes with const and you benefit from the great assistance it adds to ensure correctnes with your code.

Of course, you can say goodbye to all the help the language provides, and tell the compiler thereby not tell you about mistakes in your code anymore. Instead, you will have to ask the debugger later on where your bugs are. Not sure whether that's better.

like image 57
Johannes Schaub - litb Avatar answered Nov 29 '22 09:11

Johannes Schaub - litb


In C++, "const" can a apply to a variable (making it unchangeable) or a function (rendering it unable to change other things).

My use of "const" is not just to prevent my code from changing my variable. It's to prevent some idiot's code from changing my variable (especially if the idiot is me six months from now) and to prevent my code from changing a critical variable some idiot left exposed (especially if the idiot was me six months ago).

like image 39
Beta Avatar answered Nov 29 '22 08:11

Beta