>> No, that's not true. You can't change the value of a const object in a >> valid program. > > I think I can but it may cause an undefined behavior: Note, that Jonathan wrote "in a valid program". Your program is not valid, as it contains undefined behaviour - you change const int via pointer to non-const int.