の動作はstd::string::erase(0)
空の文字列で明確に定義されています。cppreferenceが言うので:
Removes count characters starting at index.
ただし、空の文字列の場合、インデックス 0 の文字は存在しません。
の動作はstd::string::erase(0)
空の文字列で明確に定義されています。cppreferenceが言うので:
Removes count characters starting at index.
ただし、空の文字列の場合、インデックス 0 の文字は存在しません。
文字列のサイズは0
:
21.4.6.5 基本文字列::消去 [文字列::消去]
basic_string<charT,traits,Allocator>& erase(size_type pos = 0, size_type n = npos);
1 必要なもの:
pos <= size()
2 スロー: out_of_range if
pos > size()
.
の同じページで、std::string::erase
次の行を見つけました。
例外
1) std::out_of_range ifindex > size()
.
2-3) (なし)