问题标签 [boost-lambda]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
497 浏览

c++ - 升压 lambda 的使用

我是新手,并试图编写一些简单的程序来理解它。在下面的代码中,我试图用随机数填充一个数组。这是我的代码:

但它看起来rand()只被评估一次,我的数组包含每个元素的相同值。有人能指出这段代码有什么问题吗?

0 投票
1 回答
1578 浏览

c++ - 使用 boost::lambda 调用成员函数

我正在学习这个boost::lambda库,为此我编写了这个示例代码,通过从对象中提取值来将其vector<A>转换为。vector<int>A

for_each经过几次尝试,我可以让零件工作。但是我仍然不像那些多重绑定那样。有没有其他方法可以写这个。最好我想做类似的事情:a2.push_back(bind(&A::get,_1));,但这不会编译。

0 投票
2 回答
720 浏览

boost - 如何创建一个简单的 boost::lambda 函数?

我正在尝试创建一个简单的函数来进行简单的测试并返回真或假。

当我这样做时,我得到这个错误:

我希望得到与此等效的东西

0 投票
1 回答
1145 浏览

c++ - 这个 boost::lambda 使用有什么问题?

为什么这个 boost::lambda 表达式不起作用?

我得到了这些编译错误,这可能无济于事,因为它们真的很神秘。

0 投票
2 回答
1244 浏览

c++ - boost::function 和 boost::bind 很酷,但是 boost::lambda 真正酷的是什么?

Effective C++ Meyers 的第 175 页第 1 段中,关于广义函子和绑定有这样的说法:

我发现是什么tr1::function让你做的如此惊人,它让我全身发麻。如果你没有感到刺痛,那可能是因为你盯着……的定义,想知道……是怎么回事。

我同意他的绑定和功能。关于 lambda,嗯,我了解 lambda 的作用以及它是如何做到的,但是有人可以发布一本书式的令人兴奋的片段或口头概述为什么 lambda 应该(用迈耶斯的术语)让我大吃一惊吗?我之所以问,是因为 C++ 中使用占位符语法的每个领域对我来说都像是一个 hack(是的,我对函数方法了解得够多了,所以请不要基础知识),我同意它在 bind 和 MPL 中的使用方式;但是,在 lambda 的情况下,我只是希望它是合理的,这样我就可以决定天气我应该将它输入到我的曲目中。

- 编辑 -

这个SO答案提到了仅使用占位符语法的仿函数的内联创建,他提到了高级用法,这可能就是我所追求的……在高级用法中,它仍然只是内联创建仿函数吗?

0 投票
2 回答
2230 浏览

c++ - boost::lambda 表达式无法编译

我尝试编写一个函数,使用 boost lambda 库计算两个代码字之间的汉明距离。我有以下代码:

我得到的错误是:

这是我第一次玩 boost lambda。请告诉我哪里出错了。谢谢。

编辑:

非常感谢你们!这是工作代码(仅供参考):

0 投票
2 回答
2890 浏览

c++ - 尝试使用 boost lambda,但我的代码无法编译

我正在尝试使用 boost lambda 来避免编写琐碎的函子。例如,我想使用 lambda 访问结构的成员或调用类的方法,例如:

当我尝试编译它时,我收到以下错误:

由于 vp 包含pair<int,int>我认为 _1.first 应该可以工作。我做错了什么?

0 投票
2 回答
1893 浏览

boost - boost lambda::bind 返回类型选择

我想通过 lambda::bind 调用成员。不幸的是,我有两个同名但返回类型不同的成员。有没有办法帮助 lambda::bind 推断成员函数调用的正确返回类型?(绑定适用于显式返回类型推导)

0 投票
2 回答
664 浏览

c++ - Boost lambda:在对象上调用方法

我正在将 boost::lambda 作为一种创建通用算法的方法,该算法可以与任何类的任何“getter”方法一起使用。

该算法用于检测属性的重复值,我希望它适用于任何类的任何属性。

在 C# 中,我会做这样的事情:

该方法的示例使用:

我可以使用接口或模板方法让“任何类”部分工作,但还没有找到如何使“任何方法”部分工作。

有没有办法做类似于 C++ 中的“d => d.GetId()” lambda(有或没有 Boost)?

替代的,更多使算法通用的 C++ian 解决方案也受到欢迎。

我在 VS2008 中使用 C++/CLI,所以我不能使用 C++0x lambdas。

0 投票
2 回答
689 浏览

c++ - boost::lambda 绑定表达式无法绑定到字符串的 empty() 工作

我正在尝试编译以下代码片段。但它失败了:

错误 C2665:'boost::lambda::function_adaptor::apply':8 个重载中没有一个可以转换所有参数类型。调用 bind 时指定返回类型没有帮助。

知道我做错了什么吗?