现在的位置: 首页 > 综合 > 正文

string::npos 的理解

2017年01月19日 ⁄ 综合 ⁄ 共 649字 ⁄ 字号 评论关闭

The string class provides six search functions, each named as a variant of
find. The operations all return a
string::size_type value that is the index of where the match occurred, or a special value named
string::npos if there is no match. The
string class defines npos as a value that is guaranteed to be greater than any valid index.

string 类提供了 6 种查找函数,每种函数以不同形式的 find 命名。这些操作全都返回 string::size_type 类型的值,以下标形式标记查找匹配所发生的位置;或者返回一个名为
string::npos 的特殊值,说明查找没有匹配。string 类将 npos 定义为保证大于任何有效下标的值。

比如:

string str;

pos=str.find_first_of("h");

if(pos!=string::npos)

{..

....

} //npos是一个常数,用来表示不存在的位置,类型一般是std::container_type::size_type
//许多容器都提供这个东西。取值由实现决定,一般是-1,这样做,就不会存在移植的问题了。npos表示string的结束位子,

//是string::type_size 类型的,也就是find()返回的类型。

抱歉!评论已关闭.