[string.classes]
Change: basic_string requirements no longer allow reference-counted
strings.
Rationale: Invalidation is subtly different with reference-counted strings.
This change regularizes behavior for this International Standard.
Effect on original feature:
Valid C++ 2003 code may execute differently in this International Standard.
[string.require]
Change: Loosen basic_string invalidation rules.
Rationale: Allow small-string optimization.
Effect on original feature:
Valid C++ 2003 code may execute differently in this International Standard.
Some const member functions, such as data and c_str,
no longer invalidate iterators.