1.0 KiB
1.0 KiB
[diff.cpp14.string]
Annex C (informative) Compatibility [diff]
C.4 C++ and ISO C++ 2014 [diff.cpp14]
C.4.10 [strings]: strings library [diff.cpp14.string]
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()); // ill-formed; previously well-formed â end example]