在STL中,当我执行s.find("")
时,它返回0,而s.find_first_of("")
返回-1(npos)。造成这种差异的原因是什么?
答案 0 :(得分:17)
s.find(t)
在t
中找到第一个出现的子串s
。如果t
为空,则该事件发生在s
的开头,而s.find(t)
将返回0.
s.find_first_of(t)
在t
中找到第一个字符。如果t
为空字符串,则t
中没有字符,因此找不到任何字符,find_first_of
将返回npos
。