24 Strings library [strings]

24.3 String classes [string.classes]

24.3.2 Class template basic_­string [basic.string] basic_­string modifiers [string.modifiers] basic_­string​::​copy [string.copy]

size_type copy(charT* s, size_type n, size_type pos = 0) const;
Let rlen be the smaller of n and size() - pos.
Throws: out_­of_­range if pos > size().
Requires: [s, s + rlen) is a valid range.
Effects: Equivalent to: traits​::​copy(s, data() + pos, rlen).
This does not terminate s with a null object.
end note
Returns: rlen.