3 ms·
Except that it doesn't. Thanks to const_cast, you can take away constness from pointers, so where does your "guarantee" comes from?
by coliveira 12y ago
Except that it doesn't. Thanks to const_cast, you can take away constness from pointers, so where does your "guarantee" comes from?
- netheril96 12y agoThe guarantee is not against a malicious agent, but a reasonable programmer who may make mistakes.
- detrino 12y agoA function may not reliably cast a pointer-to-const-T to a pointer-to-T because T may actually be immutable, in which case modifying it would be UB. Like all casts, const_cast exists as an escape hatch in the type system for when you know that what you are doing is safe, even if the compiler can't prove it.