lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

Roberto Ierusalimschy wrote:
> At least in C, the standard defines that the type of a string literal is
> "char*" (not const). But it also states that any attempt to modify the
> contents of a string literal has undefined behavior...

That's correct for C (well, actually it's an array of char), but not for C++,
where it's an array of const char, *except* in this one particular
circumstance. The relevant bits are

...which describes string literals in general, and 4.2.2:

...where it describes the implicit casting behaviour. It's strictly for
compatibility with C, and is labeled DEPRECATED in large letters.
Nevertheless, I don't imagine it's going away any time soon...

┌── ─── ───────────────────
│ "Parents let children ride bicycles on the street. But parents do not
│ allow children to hear vulgar words. Therefore we can deduce that cursing
│ is more dangerous than being hit by a car." --- Scott Adams

Attachment: signature.asc
Description: OpenPGP digital signature