gpt4 book ai didi

c++ - 我应该看到 std::bind 和 boost::bind 之间的显着差异吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:16:33 24 4
gpt4 key购买 nike

我正在探索 g++-4.7(具体来说是 Ubuntu/Linaro 4.7.3-2ubuntu~12.04)对 C++11 的支持,我似乎发现了差异。

特别是,如果我注释掉 #include <boost/bind.hpp>并系统地替换出现的 boost::bindstd::bind在 Boost ASIO 异步客户端示例中(取自 http://www.boost.org/doc/libs/1_45_0/doc/html/boost_asio/example/http/client/async_client.cpp),程序不再编译。

有什么解释吗?

最佳答案

#include <functional>
namespace boost {
namespace asio {
namespace stdplaceholders {
static decltype ( :: std :: placeholders :: _1 ) & error = :: std :: placeholders :: _1;
static decltype ( :: std :: placeholders :: _2 ) & bytes_transferred = :: std :: placeholders :: _2;
static decltype ( :: std :: placeholders :: _2 ) & iterator = :: std :: placeholders :: _2;
static decltype ( :: std :: placeholders :: _2 ) & signal_number = :: std :: placeholders :: _2;
}
}
}

并使用 boost::asio::stdplaceholders::* 而不是 boost::asio::placeholders::*

关于c++ - 我应该看到 std::bind 和 boost::bind 之间的显着差异吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17412267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com