"a" <= 字符串[i] 是什么意思?
What does 'a' <= string[i] mean?
我正在看一个函数:
bool StringWrap::isAlpha() const {
int sz = st.size();
for (int i = 0; i < sz; i++) {
if (!( ('a' <= st[i] && st[i] <= 'z')
|| ('A' <= st[i] && st[i] <= 'Z') ) ) {
return false;
}
}
return true;
}
在这种情况下,st
是string
。我想知道逻辑语句'a' <= st[i]
是什么意思?当我想到进行小于等于比较时,我想到的是数字而不是字符。
('a' <= st[i] && st[i] <= 'z')
该表达式正在测试st[i]
是否为小写字符。以下是所有ASCII字符:
!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_
`abcdefghijklmnopqrstuvwxyz{|}~
这些是'a' <= st[i]
("至少'a'
")为真:
abcdefghijklmnopqrstuvwxyz{|}~
(注意'a'
以下的所有字符都被剪掉了)
这些是st[i] <= 'z'
("at most 'z'
")为真:
!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_
`abcdefghijklmnopqrstuvwxyz
(注意'z'
以上的所有字符都被剪掉了)
最后,这些是两个条件都为真的:
abcdefghijklmnopqrstuvwxyz
顺便说一下,方法体可以简化为一行:
#include <algorithm>
#include <cctype>
bool StringWrap::isAlpha() const
{
return std::all_of(st.begin(), st.end(), isalpha);
}
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 线应该是什么意思
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 表达式"b=(b-x)&x"是什么意思?
- 这个表达是什么意思?
- 此代码验证公式是什么意思?
- 跟踪日志中的T.11803()是什么意思?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- * 和 ** 在 C++ 函数声明中是什么意思?
- _T("xyz")是什么意思?
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 在命名空间名称之前加上 :: 是什么意思?
- 从字符数组的元素中减去'a'是什么意思
- "friend"关键字在C++中是什么意思?
- 减法中的"0"是什么意思?
- 字符数组前面的加号是什么意思?
- 这里的字符串函数是什么意思