草庐IT

boost-pool

全部标签

c++ - 在 C++ Boost 库中,为什么某些头文件上有 ".ipp"扩展名

在C++Boost库中,为什么某些头文件有“.ipp”扩展名?它们似乎是同名“.hpp”文件中包含的头文件。这种约定在Boost之外很常见吗?拥有特殊文件类型的理由是什么? 最佳答案 Explanation来自模板专家之一:Ifyouwanttosplitupyourtemplatesourcesintointerfaceandimplementation(therearelotsofgoodreasonstodothat,includingcontrollinginstantiation),youcan'tverywelluset

c++ - 在 C++ Boost 库中,为什么某些头文件上有 ".ipp"扩展名

在C++Boost库中,为什么某些头文件有“.ipp”扩展名?它们似乎是同名“.hpp”文件中包含的头文件。这种约定在Boost之外很常见吗?拥有特殊文件类型的理由是什么? 最佳答案 Explanation来自模板专家之一:Ifyouwanttosplitupyourtemplatesourcesintointerfaceandimplementation(therearelotsofgoodreasonstodothat,includingcontrollinginstantiation),youcan'tverywelluset

c++ - boost ,shared_ptr 与 weak_ptr?什么时候用?

在我当前的项目中,我非常广泛地使用boost::shared_ptr。最近我的队友也开始使用weak_ptr。我不知道该使用哪一个以及何时使用。除此之外,如果我想将weak_ptr转换为shared_ptr应该怎么做。锁定weak_ptr以创建shared_ptr会影响我在其他线程中的代码吗? 最佳答案 总的来说和总结,强指针保证它们自己的有效性。例如,在以下情况下使用它们:您拥有被指向的对象;你创建它并销毁它如果对象不存在,您没有定义的行为您需要强制该对象存在。弱指针保证知道它们自己的有效性。例如,在以下情况下使用它们:您可以访问

c++ - boost ,shared_ptr 与 weak_ptr?什么时候用?

在我当前的项目中,我非常广泛地使用boost::shared_ptr。最近我的队友也开始使用weak_ptr。我不知道该使用哪一个以及何时使用。除此之外,如果我想将weak_ptr转换为shared_ptr应该怎么做。锁定weak_ptr以创建shared_ptr会影响我在其他线程中的代码吗? 最佳答案 总的来说和总结,强指针保证它们自己的有效性。例如,在以下情况下使用它们:您拥有被指向的对象;你创建它并销毁它如果对象不存在,您没有定义的行为您需要强制该对象存在。弱指针保证知道它们自己的有效性。例如,在以下情况下使用它们:您可以访问

c++ - 为什么在使用 boost::asio 时每个连接都需要 strand?

我正在查看HTTPServer3Boost网站上的示例。请你们解释一下为什么我需要strand每个连接?如我所见,我们仅在读取事件的处理程序中调用read_some。所以基本上read_some调用是顺序的,因此不需要strand(和item2of3rdparagraph说同样的事情)。多线程环境的风险在哪里? 最佳答案 文档是正确的。用半双工协议(protocol)实现,如HTTPServer3,strand不是必需的。调用链如下所示:voidconnection::start(){socket.async_receive_fro

c++ - 为什么在使用 boost::asio 时每个连接都需要 strand?

我正在查看HTTPServer3Boost网站上的示例。请你们解释一下为什么我需要strand每个连接?如我所见,我们仅在读取事件的处理程序中调用read_some。所以基本上read_some调用是顺序的,因此不需要strand(和item2of3rdparagraph说同样的事情)。多线程环境的风险在哪里? 最佳答案 文档是正确的。用半双工协议(protocol)实现,如HTTPServer3,strand不是必需的。调用链如下所示:voidconnection::start(){socket.async_receive_fro

c++ - 是否可以使用 CMake 构建 Boost?

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我不想在交叉编译项目的源代码树中包含静态库,而是想将boost直接添加到cmake中并构建它。这个可以吗? 最佳答案 在我的工作场所,我们也为此苦苦挣扎。虽然我当然不能声称自己知道“最好”的方法,但我可以就我的经历提出以下想法。我们最初只要求开发人员单独安装boost,并让CMake以find_package(Boost...)的形式进行正常检查。称

c++ - 是否可以使用 CMake 构建 Boost?

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我不想在交叉编译项目的源代码树中包含静态库,而是想将boost直接添加到cmake中并构建它。这个可以吗? 最佳答案 在我的工作场所,我们也为此苦苦挣扎。虽然我当然不能声称自己知道“最好”的方法,但我可以就我的经历提出以下想法。我们最初只要求开发人员单独安装boost,并让CMake以find_package(Boost...)的形式进行正常检查。称

c++ - 如何使用 CMake 将外部库( boost )包含到 CLion C++ 项目中?

我有以下C++开发设置:OSXYosemiteCLion140.2310.6(JetBrains使用CMake作为构建系统的跨平台C/C++-IDE)通过brewinstallboost将boost安装到/usr/local/Cellar/boost/现在,我的目标是设置一个简单的项目并包含boost库。我只定义了一个test.cpp文件,如下所示:#include#includeusingnamespacestd;inttest(){cout我的CMakeLists.txt文件如下所示:cmake_minimum_required(VERSION2.8.4)project(MyPro

c++ - 如何使用 CMake 将外部库( boost )包含到 CLion C++ 项目中?

我有以下C++开发设置:OSXYosemiteCLion140.2310.6(JetBrains使用CMake作为构建系统的跨平台C/C++-IDE)通过brewinstallboost将boost安装到/usr/local/Cellar/boost/现在,我的目标是设置一个简单的项目并包含boost库。我只定义了一个test.cpp文件,如下所示:#include#includeusingnamespacestd;inttest(){cout我的CMakeLists.txt文件如下所示:cmake_minimum_required(VERSION2.8.4)project(MyPro