[diff.cpp14.string] (original) (raw)

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++.

[Example 1: int f(char *) = delete;int f(const char *); string s;int x = f(s.data()); — _end example_]