<P> Dynamically - valued constants do not designate a variable as residing in a specific region of memory, nor are the values set at compile time . In C++ code such as </P> <P> the expression that the constant is initialized to are not themselves constant . Use of constantness is not necessary here for program legality or semantic correctness, but has three advantages: </P> <Ol> <Li> It is clear to the reader that the object will not be modified further, once set </Li> <Li> Attempts to change the value of the object (by later programmers who do not fully understand the program logic) will be rejected by the compiler </Li> <Li> The compiler may be able to perform code optimizations knowing that the value of the object will not change once created . </Li> </Ol> <Li> It is clear to the reader that the object will not be modified further, once set </Li>

You cannot change the value of a constant once the program begins running