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());