Affected subclause: [basic.string]
Change: Non-const
.data() member added
. Rationale: The lack of a non-const
.data()
differed from the similar member of
std::vector. This change regularizes behavior for this International Standard
. Effect on original feature: Overloaded functions which have differing code paths
for
char* and
const char* arguments
will execute differently
when called with a non-const string's
.data() member
in this International Standard
.
int f(char *) = delete;
int f(const char *);
string s;
int x = f(s.data());