- string[meta header]
- std[meta namespace]
- basic_string[meta class]
- function[meta id-type]
basic_string& operator+=(const basic_string& str); // (1)
basic_string& operator+=(const charT* s); // (2)
basic_string& operator+=(charT c); // (3)
basic_string& operator+=(initializer_list<charT> il); // (4) C++11 から- initializer_list[link /reference/initializer_list/initializer_list.md]
指定された文字列、文字、あるいは初期化リストを追加する。
s は少なくとも traits_type::length(s) + 1 の長さを持つ charT 型の配列を指していること。
-
(1) 対象オブジェクトの末尾に
strの値が追加(コピー)される。
append(str)と等価。 -
(2) 対象オブジェクトの末尾に
sから始まる NULL で終端された文字列が追加される。
append(basic_string<value_type, traits_type, allocator_type>(s))(C++03 まで)、あるいは、append(s)(C++11 から)と等価。
なお、sから始まる NULL 終端された文字列の長さは、traits_type::length(s)で求められる。 -
(3) 対象オブジェクトの末尾に文字
cが追加される。
append(basic_string<value_type, traits_type, allocator_type>(1, c))と等価。 -
(4) 対象オブジェクトの末尾に初期化リスト
ilで表された文字列が追加される。
append(il)と等価。
*this
-
(1)
size() + str.size() >max_size()の場合、length_errorが送出される。 -
(2)
size() + traits_type::length(s) >max_size()の場合、length_errorが送出される。 -
(4)
size() + il.size() >max_size()の場合、length_errorが送出される。
本メンバ関数の呼び出しによって、対象オブジェクトの要素への参照、ポインタ、および、イテレータは無効になる可能性がある。
#include <iostream>
#include <string>
int main()
{
std::string s1("Hello");
std::cout << s1 << '\n';
std::string s2(", ");
s1 += s2;
std::cout << s1 << '\n';
s1 += "world";
std::cout << s1 << '\n';
s1 += '!';
std::cout << s1 << '\n';
s1 += { ' ', ':', ')' };
std::cout << s1 << '\n';
}- +=[color ff0000]
Hello
Hello,
Hello, world
Hello, world!
Hello, world! :)
| 名前 | 説明 |
|---|---|
append |
文字/文字列を追加する |
push_back |
文字を追加する |
insert |
文字/文字列を挿入する |
operator+ |
文字列を連結する |