【发布时间】:2010-11-11 01:11:49
【问题描述】:
我有检查字符串是否只包含字母数字和下划线字符的功能...
inline bool IsValidChar(char x)
{
return (isalnum(x) || (x == '_'));
}
我的 find_if 代码是:
if(find_if(str.begin(), str.end(), IsValidChar) != str.end())
{
...
}
我只是想把IsValidChar函数去掉,直接把它的内容放到find_if这行代码里。。
【问题讨论】:
-
为什么?你已经内联了它。
-
对不起,请忽略内联
-
你的代码很好。没关系。您可以使用
std::string的成员函数,但这也很好。这里没有任何问题,也没有什么需要修复的。 -
@wilhelmtell - 除了逻辑之外,没有任何问题......在输入“aaaa”上尝试一下,看看会发生什么。
-
@SteveTownsend 哎呀。你是对的。
if( find_if(str.begin(), str.end(), IsInvalidChar) == str.end() ) { /* ... */ }
标签: c++