Affected subclause: [basic.string]
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
and const char*
will execute differently
when called with a non-const string's .data()
in this International Standard.
int f(char *) = delete;
int f(const char *);
int x = f(s.data());