C++ 在 find_if 中使用 lambda 查找变量对
C++ Using a lambda in find_if to find pair variables
所以我无法理解 lambda 及其工作原理,特别是如果我有
std::vector<std::pair<std::string, int>> storage;
并想编写一个看起来像
的函数
bool VNS::remove(const std::string& host) {
auto end = storage.end();
auto found = find_if (storage.begin(), end, [host](pair<string,int> curr) {return curr.first == host; });
即我想在成对的向量中找到主机,其中主机名存储在成对的第一部分。如何正确指定 lambda 函数中的内容才能执行此操作?
此致。
显然这个方法有效,就是这样。我设法将我的编译器的输出误解为认为 lambda 函数有问题,但这似乎是使其工作的一种方式。
所以我无法理解 lambda 及其工作原理,特别是如果我有
std::vector<std::pair<std::string, int>> storage;
并想编写一个看起来像
的函数bool VNS::remove(const std::string& host) {
auto end = storage.end();
auto found = find_if (storage.begin(), end, [host](pair<string,int> curr) {return curr.first == host; });
即我想在成对的向量中找到主机,其中主机名存储在成对的第一部分。如何正确指定 lambda 函数中的内容才能执行此操作?
此致。
显然这个方法有效,就是这样。我设法将我的编译器的输出误解为认为 lambda 函数有问题,但这似乎是使其工作的一种方式。