C++ 中创建布尔函数
本文将介绍如何在 C++ 中创建布尔函数。
将字符串大小比较作为布尔函数实现
布尔函数表示返回 bool
类型值的函数。布尔函数的结构可以和其他函数一样。在下面的例子中,我们实现了一个比较两个字符串大小的函数 isLessString
。如果第一个字符串的长度小于第二个字符串的长度,该函数返回 true
;否则,返回 false
。
注意,我们把比较表达式放在 return
关键字之后,以将结果值传回调用函数。
#include <iostream>
#include <algorithm>
#include <iterator>
#include <map>
using std::cout; using std::endl;
using std::string; using std::map;
bool isLessString(string &s1, string &s2)
{
return s1.size() < s2.size();
}
int main() {
string str1 = "This string shall be arbitrary";
string str2 = "Let this string be compared compared";
if(isLessString(str1, str2))
cout << "str1 is shorter than str2";
cout << endl;
return EXIT_SUCCESS;
}
输出:
str1 is shorter than str2
实现布尔函数,如果映射中存在具有特定键的元素,则返回该布尔函数
以下例子实现了布尔函数,用来查找一个 std::map
容器中是否存在特定键的元素。由于本主题是关于函数返回类型 bool
,我们将利用 std::map
中内置的 find
方法,而不是自己实现搜索例程。
find
方法接收一个参数-key
,并返回迭代器到相应的元素。如果没有找到指定 key 的元素,则返回 end
(past-the-end)迭代器。
我们的 keyExistsInMap
函数接受 map
和 string
参数,并从给定的 map
中调用 find
方法。如果调用的返回值不等于 end
迭代器,true
将被传回调用者函数,否则返回 false
。
#include <iostream>
#include <algorithm>
#include <iterator>
#include <map>
using std::cout; using std::endl;
using std::string; using std::map;
bool keyExistsInMap(map<string, string> &m, const string& key)
{
if (m.find(key) != m.end()) {
return true;
} else {
return false;
}
}
int main() {
map<string, string> veggy_map = {{"a", "Asparagus",},
{"b", "Beetroot",},
{"b", "Bedsetroot",},
{"g", "Ginger",},
{"m", "Melon",},
{"p", "Pumpkin",},
{"s", "Spinach",}};
keyExistsInMap(veggy_map, "a") ?
cout << "Key exists" << endl :
cout << "Key does not exist\n" << endl;
keyExistsInMap(veggy_map, "z") ?
cout << "Key exists" << endl :
cout << "Key does not exist\n" << endl;
return EXIT_SUCCESS;
}
输出:
Key exists
Key does not exist
相关文章
在 C++ 中通过掷骰子生成随机值
发布时间:2023/04/09 浏览次数:169 分类:C++
-
本文解释了如何使用时间因子方法和模拟 C++ 中的掷骰子的任意数方法生成随机数。了解它是如何工作的以及它包含哪些缺点。提供了一个 C++ 程序来演示伪数生成器。
在 C++ 中使用模板的链表
发布时间:2023/04/09 浏览次数:158 分类:C++
-
本文解释了使用模板在 C++ 中创建链表所涉及的各个步骤。工作程序演示了一个链表,该链表使用模板来避免在创建新变量时声明数据类型的需要。
在 C++ 中添加定时延迟
发布时间:2023/04/09 浏览次数:142 分类:C++
-
本教程将为你提供有关在 C++ 程序中添加定时延迟的简要指南。这可以使用 C++ 库为我们提供的一些函数以多种方式完成。
在 C++ 中创建查找表
发布时间:2023/04/09 浏览次数:155 分类:C++
-
本文重点介绍如何创建查找表及其在不同场景中的用途。提供了三个代码示例以使理解更容易,并附有代码片段以详细了解代码。
如何在 C++ 中把字符串转换为小写
发布时间:2023/04/09 浏览次数:63 分类:C++
-
介绍了如何将 C++ std::string 转换为小写的方法。当我们在考虑 C++ 中的字符串转换方法时,首先要问自己的是我的输入字符串有什么样的编码
如何在 C++ 中确定一个字符串是否是数字
发布时间:2023/04/09 浏览次数:163 分类:C++
-
本文介绍了如何检查给定的 C++ 字符串是否是数字。在我们深入研究之前,需要注意的是,以下方法只与单字节字符串和十进制整数兼容。
如何在 c++ 中查找字符串中的子字符串
发布时间:2023/04/09 浏览次数:65 分类:C++
-
本文介绍了在 C++ 中检查一个字符串是否包含子字符串的多种方法。使用 find 方法在 C++ 中查找字符串中的子字符串
如何在 C++ 中把字符串转换为 Char 数组
发布时间:2023/04/09 浏览次数:107 分类:C++
-
本文介绍了在 C++ 中把字符串转换为 char 数组的多种方法。使用 std::basic_string::c_str 方法将字符串转换为 char 数组