std::basic_string::operator+=
From cppreference.com
< cpp | string | basic string
| basic_string& operator+=( const basic_string& str ); |
(1) | |
| basic_string& operator+=( CharT ch ); |
(2) | |
| basic_string& operator+=( const CharT* s ); |
(3) | |
| basic_string& operator+=( std::initializer_list<CharT> ilist ); |
(4) | (since C++11) |
| basic_string& operator+=( std::basic_string_view<CharT, Traits> sv); |
(5) | (since C++17) |
Appends additional characters to the string.
1) Appends string
str2) Appends character
ch3) Appends the null-terminated character string pointed to by
s. 4) Appends characters in the initializer list
ilist.5) Appends characters in the string view
sv as if by append(sv)Parameters
| str | - | string to append |
| ch | - | character value to append |
| s | - | pointer to a null-terminated character string to append |
| ilist | - | std::initializer_list with the characters to append |
| sv | - | std::basic_string_view with the characters to append |
Return value
*this
Complexity
1) linear in size of
str2) constant
3) linear in size of
s4) linear in size of
ilistExceptions
If an exception is thrown for any reason, this function has no effect (strong exception guarantee). (since C++11)
If the operation would result in size() > max_size(), throws std::length_error.
Notes
Owing to Implicit conversions, operator+= might accept values of unwanted types.
Example
Run this code
#include <iostream> #include <iomanip> #include <string> int main() { std::string str; str.reserve(50); //reserves sufficient storage space to avoid memory reallocation std::cout << std::quoted(str) << '\n'; //empty string str += "This"; std::cout << std::quoted(str) << '\n'; str += std::string(" is "); std::cout << std::quoted(str) << '\n'; str += 'a'; std::cout << std::quoted(str) << '\n'; str += {' ','s','t','r','i','n','g','.'}; std::cout << std::quoted(str) << '\n'; str += 76.85; // equivalent to str += static_cast<char>(76.85), might not be the intent std::cout << std::quoted(str) << '\n'; }
Output:
"" "This" "This is " "This is a" "This is a string." "This is a string.L"
See also
| assign characters to a string (public member function) |