- 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+ |
文字列を連結する |