草庐IT

ZN5boost

全部标签

c++ - 当你想实现一个可以返回 "nothing"的函数时,何时使用 boost::optional 以及何时使用 std::unique_ptr ?

据我了解,有两种方法可以实现有时不返回结果的函数(例如在ppl列表中找到的人)。*-我们忽略原始ptr版本,与bool标志配对,并在未找到版本时出现异常。boost::optionalfindPersonInList();或std::unique_ptrfindPersonInList();那么有什么理由比另一个更喜欢一个吗? 最佳答案 这取决于:您希望返回句柄还是拷贝。如果你想返回一个句柄:Person*boost::optional都是可接受的选择。我倾向于使用Ptr在空访问的情况下抛出的类,但这是我的偏执狂。如果您希望返回拷贝

C++:使用 boost::dynamic_pointer_cast 时出现 "... is not a polymorphic type"

为什么我会收到以下代码的以下错误?1>C:\Libs\boost_1_44\boost/smart_ptr/shared_ptr.hpp(259):errorC2683:'dynamic_cast':'my_namespace::A'isnotapolymorphictype1>D:\[location]\[header_filename].h(35):seedeclarationof'my_namespace::A'1>C:\Libs\boost_1_44\boost/smart_ptr/shared_ptr.hpp(522):seereferencetofunctiontempla

c++ - Boost.format 和宽字符

有没有办法让boost.format使用并返回宽(Unicode)字符串?我希望能够做以下事情:wcout和wstrings=boost::str(boost::format(L"...")%...)这可能吗? 最佳答案 format_fwd.hpp包含这个typedef:typedefbasic_formatwformat;我想这会让你开始。这在这里有效:std::wcoutboost::str也可以使用wformat。 关于c++-Boost.format和宽字符,我们在StackO

c++ - 我们应该更喜欢 Boost 还是标准库?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭9年前。我正在阅读Boost数组文档,我看到了这一行:IfyouareusingC++11,youshouldconsiderusingstd::arrayinsteadofboost::array我的印象是,对于它的主要库来说,Boost总是比标准库更可取,因为:boost的性能永远不会比标准库差boost可能会提供更多功能boost的质量终于与标准lib相

c++ - 带有 CMake 的 Boost.Log 导致 undefined reference 错误

我正在尝试在我正在处理的项目中使用新的Boost.Log库。该项目是用CMake构建的。我收到链接错误,声称链接器遇到了对Boost.Log的undefinedreferenceLinkingCXXexecutablemainCMakeFiles/main.dir/main.cpp.o:Infunction`main':main.cpp:(.text+0x30):undefinedreferenceto`boost::log::v2s_mt_posix::trivial::logger::get()'我有一个简单的helloworld测试,但由于这些错误而失败。如果我链接Boost.L

c++ - 对于 C++ 开发人员来说,学习 Boost 有多重要?

已结束。这个问题是off-topic.它目前不接受答案。想要改进这个问题?Updatethequestion所以它是on-topic堆栈溢出。关闭9年前。Improvethisquestion我很想学习Boost.但我想问:努力学习Boost有多重要?在加入Boost之前应具备哪些先决条件?为什么我很想知道Boost是因为很多人都在IRC的channel和StackOverflow上谈论Boost。 最佳答案 我认为任何认真考虑将C++开发作为职业的人都应该学习Boost,并且学得好。一旦你开始认真的编程,你就会意识到这些库有多大的

c++ - PThread vs boost::thread?

过去没有线程方面的经验,C++中的哪种线程技术对初学者来说最容易?boost::thread还是pthreads? 最佳答案 我将朝着与其他人相反的方向前进-学习(或至少熟悉可用的)pthreads。由于boost主要只是pthreads的一个包装器(在posix平台上),它有助于了解底层发生了什么。在尝试通用的过程中,boost将特定于平台的功能展开。为了达到它,您需要使用native_handle()调用。为了使用native_handle()调用,您需要知道平台提供什么。把它想象成套接字。有几十个套接字类和框架。但最终它们封装

c++ - 在 boost::posix_time::ptime 和 mongo::Date_t 之间转换

有没有一种简洁的方式,或者一种普遍接受的方式来从boost::posix_time::ptime转换为mongo::Date_t并再次返回?Mongo到BoostBoostdocumentation似乎不完整或不正确。它记录了一个函数date_from_tm,它从tm构造一个date结构。但是,给出了以下示例:tmpt_tm;/*snip*/ptimept=ptime_from_tm(pt_tm);但是没有记录的函数ptime_from_tm。然而thisheaderfile确实包含该功能。所以,我至少可以从mongo::Date_t转到boost::posix_time::ptime

c++ - 在 boost::posix_time::ptime 和 mongo::Date_t 之间转换

有没有一种简洁的方式,或者一种普遍接受的方式来从boost::posix_time::ptime转换为mongo::Date_t并再次返回?Mongo到BoostBoostdocumentation似乎不完整或不正确。它记录了一个函数date_from_tm,它从tm构造一个date结构。但是,给出了以下示例:tmpt_tm;/*snip*/ptimept=ptime_from_tm(pt_tm);但是没有记录的函数ptime_from_tm。然而thisheaderfile确实包含该功能。所以,我至少可以从mongo::Date_t转到boost::posix_time::ptime

python - 使用多个 Python 版本构建 Boost

我在我的电脑上使用了多个版本的Python:2.6.6、2.7.6和2.7.9。当我用boost-python编译Boost时,我必须给Python用于参数。如果我想要兼容性,我必须为每个Python版本编译Boost吗?(它非常庞大!)或者有没有办法只使用一个版本的Boost和多个Python版本? 最佳答案 官方Pythondevelopmentcycle没有描述版本之间的应用程序二进制接口(interface)(ABI)的稳定性。对于Python3.2之前的版本,不保证ABI兼容性。对于3.2及更高版本,PEP384定义sta