问题标签 [boost-ref]
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.
c++ - boost::ref 和 boost::asio 完成处理程序,按引用传递
我在一段代码中有这个调用,底层类型i
绝对是可调用的(因为删除 boost::ref 会导致按值传递,这很好用),但是 clang 告诉我:
我如何通过引用传递,我有比异步调用更长寿的对象,如果我可以通过引用传递它们,它们会更优雅(更少 boost::shared_ptr<..> 的成员)。
- 编辑 -
我已经浏览了 asio 的示例目录,并且boost::ref
没有针对完成处理程序进行演示。所以我想我在这里不走运。处理程序没有接受 ref 的版本是否有原因?
-- 编辑 2:我看起来像什么(除非您对实现持怀疑态度,否则不要费心看这个)。--
c++ - 传递参数时如何将 boost::ref 与 Boost.Parameter 库一起使用?
我使用 Boost.Parameter 库为构造函数提供命名参数。
通常windowFunction
会被boost::function
对象复制,但是我也希望能够通过引用传递boost::ref
.
但是,当我传递一个删除了的函数对象并且 ArgumentPack 包含对该值的引用boost::ref
时。reference_wrapper<T>
T
问题:有没有办法防止reference_wrapper<T>
包装被移除?
例子:
将在构造函数中SomeFunctionObject& s
传递给而不是。这样一来,就会被哪个抄袭,这是不可取的。mWindowFun
ClassAImpl
const reference_wrapper<SomeFunctionObject>&
s
boost::function
c++ - boost::ref 没有发生匹配的调用错误,但 std::ref 没有发生匹配的调用错误
我编写了一些代码,这些代码使用仿函数和来自或(对于 C++11)命名空间的模板来计算向量ref
元素的数量bind
。我正在使用 a在和命名空间之间切换。我使用的是 boost 1.53 版本,我的编译命令是. 我已经尝试使用 gcc 版本 4.7.2 和 4.6.3,但我都得到了相同的错误。boost::
std::
#define
boost::
std::
g++ test.cpp -std=c++11
我有3个问题:
- 我不明白为示例 2 生成的错误。
- 是否可以仅通过切换命名空间来使这样的代码具有可移植性?
- 是否有一个很好的参考资料详细描述
std
和的boost
版本bind
之间ref
的差异function
?(我看到了这个问题,但答案没有提到ref
或function
)
谢谢!
size()
PS这个例子只是说明了我的问题,我知道std::vector
:-)
c++ - 使用 boost::ref 传递对接受值的函数的引用
我对 boost::ref 的使用感到困惑。我不明白为什么有人会想做以下事情 -
将 ref 传递给函数有什么用。我总是可以按值传递。也不是实际上通过了 ref。在上面的 main 中 aaa 的值仅保持为 2。
boost ref 到底在哪里有用?
在这种情况下是否可以使用 boost::ref 。我想将迭代器引用传递给 std::sort 函数。通常排序适用于迭代器副本- boost::ref 是否也适用于引用?(对 std::sort 没有任何更改)
c++ - why is this program using boost::ref
The Ref library is a small library that is useful for passing references to function templates (algorithms) that would usually take copies of their arguments.
from http://www.boost.org/doc/libs/1_53_0/doc/html/boost_asio/example/chat/chat_server.cpp
in call deliver -
if the
in another class is taking message by reference then why is boost::ref used at all?
c++ - 在 C++ 中的 boost 包装器中删除一个对象
我有一个有元素的类
std::list<boost::reference_wrapper<polygonType> > m_children;
当一个对象从这个类中创建出来时,我将该对象的所有子对象作为引用存储在这个变量中。我想做的是,当调用对象的析构函数时,我希望调用孩子的析构函数。
- 在这种情况下,这是一种自动行为吗?还是我需要为它写点东西,给这个列表有参考?
- 如果我希望它们不被删除,我需要做什么?如果我想删除它们,我需要做什么?
这基本上归结为我做出的一些设计决策以及我希望如何修复它们。
python - 为什么不能使用 std::ref 将对象传递给 Boost.Python 模块?
环境:使用 Python 3.5 编译的 Boost 1.61.0
以下 C++ 代码输出12
:
但是,如果我替换boost::ref
为std::ref
,则会抛出一个boost::python::error_already_set
实例。
为什么不能std::ref
在这里使用?