搜索空字符串时查找vs find_first_of

Rav*_*aju 9 c++ string stl

在STL中,当我这样做时s.find(""),它返回0而s.find_first_of("")返回-1(npos).造成这种差异的原因是什么?

ric*_*ici 20

s.find(t)发现字符串的第一个发生ts.如果t为空,则该事件发生在s,并s.find(t)返回0.

s.find_first_of(t)发现的第一个匹配的字符中的一个t.如果t是空字符串,则没有字符t,因此找不到任何匹配项,并且find_first_of将返回npos.

生活在想法上.

  • @littlecegian:正如我在回答中说的那样,空字符串中没有字符,因此在目标中不会发现字符串中的任何字符。 (2认同)