6

の動作はstd::string::erase(0)空の文字列で明確に定義されています。cppreferenceが言うので:

Removes count characters starting at index.

ただし、空の文字列の場合、インデックス 0 の文字は存在しません。

4

2 に答える 2

9

文字列のサイズは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().

于 2013-07-20T13:19:05.093 に答える
4

の同じページで、std::string::erase次の行を見つけました。

例外
1) std::out_of_range if index > size().
2-3) (なし)

于 2013-07-20T13:14:47.097 に答える