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
. 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 revision of C++
. For example:
int f(char *) = delete;
int f(const char *);
string s;
int x = f(s.data());