![](/img/trans.png)
[英]How to sort an array of structs with std::binary_search or std::sort
[英]std::binary_search curious issue with char array
所以我為了好玩而實現了一個 rot13
const char lower[] = "abcdefghijklmnopqrstuvwxyz";
int main() {
char ch = 'z';
if (std::binary_search(std::begin(lower), std::end(lower), ch)) {
std::cout << "Yep\n";
}
else {
std::cout << "Nope\n";
}
}
這輸出不。 任何其他字符輸出是。
請注意,除非為空(因為它以 '\0' 結尾),否則 c 字符串的排序不會增加。 如果你修復它以傳遞前面的迭代器(指向過去的 'z',而不是 '\0'),它可以工作:
#include <iostream>
#include <algorithm>
const char lower[] = "abcdefghijklmnopqrstuvwxyz";
int main() {
char ch = 'z';
if (std::binary_search(std::begin(lower), std::end(lower) - 1, ch)){
std::cout << "Yep\n";
} else {
std::cout << "Nope\n";
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.