Questions tagged «boost»

Boost是大量用于C ++的高质量库的集合。Boost是免费的,通常被视为“第二标准库”。

10
ACE vs Boost vs POCO [关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 我使用Boost C ++库已经有一段时间了。我绝对喜欢用于网络编程的Boost Asio C ++库。但是,我被介绍给另外两个库:POCO和自适应通信环境(ACE)框架。我想知道两者的优缺点。

2
在C ++中使用Boost生成UUID的示例
我只想生成随机的UUID,因为对于程序中的实例来说,拥有唯一的标识符非常重要。我研究了Boost UUID,但是由于无法理解要使用哪个类和方法,因此无法生成UUID。 如果有人可以给我任何实现此目标的示例,我将不胜感激。
94 c++  boost  uuid  boost-uuid 

2
升压魔术数字:: hash_combine
所述boost::hash_combine模板函数采用一个散列(称为参考seed)和对象v。根据文档,它结合seed了vby 的哈希 seed ^= hash_value(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2); 我可以看到这是确定性的。我明白了为什么要使用异或。 我敢打赌,这种加法有助于将相似的值广泛地映射,因此探测哈希表不会崩溃,但是有人可以解释魔术常数是什么吗?

12
C ++ Boost:对boost :: system :: generic_category()的未定义引用
我试图将Boost库包含在我的项目中,并且一直面临着同样的问题。我在使用Codeblocks IDE的Ubuntu 12.10上,尝试手动读取站点上的说明来安装库,但是标头以及使用前要构建的库出现错误。 然后,我通过terminalby安装了库sudo apt-get install libboost-all-dev。此后,在我的代码块程序中,可以包含类似的标题,#include <boost/regex.hpp>但是当我尝试包含Filesystem库的标题(#include "boost/filesystem/operations.hpp" )时,出现以下错误: /usr/include/boost/system/error_code.hpp|214|undefined reference to boost::system::generic_category()'| 我不确定如何解决此错误(特别是在Linux上的代码块中)。我真的可以在这里使用一些帮助。 编译器:Gcc 程序代码:仅尝试包含上述文件系统operations.hpp文件。 从代码块生成日志: Build started on: 20-11-2012 at 18:02.53 Build ended on: 20-11-2012 at 18:02.54 -------------- Build: Debug in libopenFrameworks --------------- Target is up to date. -------------- Build: Debug in reader1 --------------- make -s -f …
92 c++  linux  boost  codeblocks 



3
有使用Boost.Log日志记录库的经验吗?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我正在考虑开始使用Boost.Log日志记录库。有人在使用Boost.Log吗?请分享您在这方面的经验。 我正在考虑的其他库是Apache log4cxx(安装起来很繁琐,但我的团队成员希望入门简单)和Pantheios(相同的问题,因为它可与额外的前端和后端配合使用)。
88 c++  boost  logging  boost-log 

10
致命错误LNK1104:无法打开文件'libboost_system-vc110-mt-gd-1_51.lib'
似乎我无法使用它。我做了一个简单的控制台应用程序(取决于websocket++库),它需要Boost库..但是当我尝试编译时,我得到了: 致命错误LNK1104:无法打开文件'libboost_system-vc110-mt-gd-1_51.lib' 但是,我做了bjam,在其中创建了lib,(boost_root)/stage/libs然后将lib的路径链接到了编译器C++/Additionnals includes。 如果我看(boost_root)/stage/libs文件 libboost_system-vc110-mt-gd-1_51.lib不在那儿。它被称为libboost_system-vc110-mt-sgd-1_51.lib。 任何的想法?
88 c++  boost 


12
Cmake找不到Boost
我正在尝试使用CMake配置项目,但是即使它们位于指定的文件夹中,它也无法找到Boost库。我已指定Boost_INCLUDE_DIR,Boost_LIBRARYDIR并且BOOST_ROOT,但是我仍然得到一个错误说CMake的是无法找到的推动作用。这种错误的原因可能是什么?
86 boost  cmake 

1
boost :: function和boost :: bind如何工作
我不喜欢魔术盒散布在我的所有代码中...这两个类究竟如何工作,以使基本上任何函数都可以映射到函数对象,即使function <>的参数设置与传递给一个im的参数完全不同 boost::bind 它甚至有不同的调用约定有效(即成员方法都是__thiscallVC之下,但“正常”的功能,通常是__cdecl或__stdcall为那些需要与兼容C.

4
使用Boost库程序选项的必需参数和可选参数
我正在使用Boost程序选项库来解析命令行参数。 我有以下要求: 一旦提供了“帮助”,所有其他选项都是可选的。 一旦不提供“帮助”,则所有其他选项都是必需的。 我该如何处理?这是我处理此问题的代码,我发现它非常多余,我认为必须很容易做到,对吗? #include <boost/program_options.hpp> #include <iostream> #include <sstream> namespace po = boost::program_options; bool process_command_line(int argc, char** argv, std::string& host, std::string& port, std::string& configDir) { int iport; try { po::options_description desc("Program Usage", 1024, 512); desc.add_options() ("help", "produce help message") ("host,h", po::value<std::string>(&host), "set the host server") ("port,p", po::value<int>(&iport), "set …

7
使用shared_ptr的例子?
嗨,我今天问一个问题,关于如何在同一向量数组中插入不同类型的对象,我在该问题中的代码是 gate* G[1000]; G[0] = new ANDgate() ; G[1] = new ORgate; //gate is a class inherited by ANDgate and ORgate classes class gate { ..... ...... virtual void Run() { //A virtual function } }; class ANDgate :public gate {..... ....... void Run() { //AND version of Run } …

3
Boost:assert.hpp文件中的P :: ************是什么意思?
在boost / mpl / assert.hpp中,我看到了以下内容: template<class Pred> struct eval_assert { typedef typename extract_assert_pred<Pred>::type P; typedef typename P::type p_type; typedef typename ::boost::mpl::if_c<p_type::value, AUX778076_ASSERT_ARG(assert<false>), failed ************ P::************ >::type type; }; 如果************可以将第一个视为struct的指针失败,那么P::************对我来说真的没有任何意义。这是标准的C ++吗?
80 c++  pointers  boost 

1
更疯狂的精神-解析器类型(规则vs int_parser <>)和元编程技术
问题在底部以粗体显示,该问题在结尾处也用蒸馏代码片段加以概括。 我正在尝试将我的类型系统(类型系统从类型到字符串,从类型到字符串)统一为一个组件(由Lakos定义)。我正在使用boost::array,boost::variant和boost::mpl,以实现此目的。我想将我的类型的解析器和生成器规则统一在一个变量中。有一个未定义的类型,一个int4(见下文)类型和一个int8类型。变体读取为variant&lt;undefined, int4,int8&gt;。 int4特性: struct rbl_int4_parser_rule_definition { typedef boost::spirit::qi::rule&lt;std::string::iterator, rbl_int4()&gt; rule_type; boost::spirit::qi::int_parser&lt;rbl_int4&gt; parser_int32_t; rule_type rule; rbl_int4_parser_rule_definition() { rule.name("rbl int4 rule"); rule = parser_int32_t; } }; template&lt;&gt; struct rbl_type_parser_rule&lt;rbl_int4&gt; { typedef rbl_int4_parser_rule_definition string_parser; }; 上面的变体以未定义开始,然后初始化规则。我遇到了一个问题,该问题导致了50页的错误,我终于设法找到了它,operator=在分配期间使用了Variant ,并且boost::spirit::qi::int_parser&lt;&gt;不能将a分配给另一个(operator =)。 相比之下,我的未定义类型没有问题: struct rbl_undefined_parser_rule_definition { typedef boost::spirit::qi::rule&lt;std::string::iterator, void()&gt; rule_type; rule_type rule; rbl_undefined_parser_rule_definition() { rule.name("undefined parse …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.