static const char[?
in C++. This allows overloading to occur properly with a routine accepting say a const char *. It also works with legacy situations because C++ also provides for a conversion so that when a const char * is not the target, it will also still allow legacy assignments to char *s. The conversion does not change the writeability of the literal though. • A given implementation may always allow extensions, so a given implementation, or even mode of an implementation perhaps controlled by a command line switch, may allow string literal writeability. • There is a transformation possible which removes the undefined behavior: Name the string literal: #include