C++中find函数的返回值可以和-1或0比较吗????
2个回答
展开全部
find函数有很多个。有些可以,有些不可以。
(1)string类里的find函数。此函数的原型有四个:
size_t
find
(const
string&
str,
size_t
pos
=
0)
const
noexcept;
size_t
find
(const
char*
s,
size_t
pos
=
0)
const;
size_t
find
(const
char*
s,
size_t
pos,
size_type
n)
const;
size_t
find
(char
c,
size_t
pos
=
0)
const
noexcept;
均返回size_t,因此可以与0比较。与-1比较的话会导致-1转换为无符号整型而变成一个非常大的数。
(2)(unordered_)(multi)set/map类里的find函数,或algorithm头文件里的find函数。这些find函数返回相应的迭代器,因此不能与-1或0比较。
(1)string类里的find函数。此函数的原型有四个:
size_t
find
(const
string&
str,
size_t
pos
=
0)
const
noexcept;
size_t
find
(const
char*
s,
size_t
pos
=
0)
const;
size_t
find
(const
char*
s,
size_t
pos,
size_type
n)
const;
size_t
find
(char
c,
size_t
pos
=
0)
const
noexcept;
均返回size_t,因此可以与0比较。与-1比较的话会导致-1转换为无符号整型而变成一个非常大的数。
(2)(unordered_)(multi)set/map类里的find函数,或algorithm头文件里的find函数。这些find函数返回相应的迭代器,因此不能与-1或0比较。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询