草庐IT

ZN5boost

全部标签

c++ - 如何在不打开文件的情况下使用 boost 文件系统创建文件

在boost文件系统中有一个创建目录的函数create_directory。如何创建文件?我可以通过定义一个boost::filesystem::ofstream对象来创建一个,但这也会打开文件,所以我必须先调用close才能执行其他东西,比如重命名或删除。这是唯一的方法吗? 最佳答案 BoostFilesystemV3不提供touch(1)函数;即使touch也会创建+关闭一个文件,看看strace的输出:open("/tmp/q",O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK,0666)=47dup2

c++ - 在 Clion 中设置 Boost

如何在带有MinGW的Clion中使用Boost库?我已经下载解压boost_1_60_0.zip到C:\boost_1_60_0。我现在该怎么办?我必须安装一些东西吗?这是我的CMakeLists.txt:cmake_minimum_required(VERSION3.3)project(server_client)set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-std=c++11-s-O3")set(CMAKE_EXE_LINKER_FLAGS-static)set(BOOST_ROOT"C:/boost_1_60_0")set(BOOSTROOT"C

c++ - boost::program_options 位置选项

我有一个位置选项(一个文件名),我希望它成为最后一个选项。用户可以在命令行中传入一堆东西,也可以使用-F作为文件名。但是,我希望用户也能够将文件名放在末尾。例如:./program--var3/path/to/file我目前实现的代码允许调用者将文件名放在命令行的任意位置。有什么方法可以强制位置参数始终位于“常规”参数之后?这是我设置位置参数的方法:pos_opts_desc.add("filename",-1);并解析命令行:store(command_line_parser(argc,argv).options(opts_desc).positional(pos_opts_desc

c++ - boost::asio,异步读取错误

由于某种原因,这会导致访问冲突,但是没有任何详细的文档/帮助,我不确定我在哪里做错了。由于按照我在boost站点上看到的内容进行,这应该是正确的,并将来自客户端的每个asio::write调用的内容打印到一个新行。客户端似乎工作正常。虽然此时服务器崩溃了,但它还没有发送任何东西。访问冲突发生在basic_stream_socket.hpp的275行,原因好像是对象(boost::asio::stream_socket_service)没有初始化(this指针的值为0xfeeefeee),但是我没有不明白为什么不是。程序输出:StartserverServer::startAccept(

c++ - 在类中初始化 boost::multi_array

首先我想说我是新手。我正在尝试初始化boost:multi_array在我的类(class)里。我知道如何创建boost:multi_array:boost::multi_arrayfoo(boost::extents[1000]);但作为类(class)的一部分,我遇到了问题:classInflux{public:Influx(uint32_tnum_elements);boost::multi_arrayfoo;private:};Influx::Influx(uint32_tnum_elements){foo=boost::multi_array(boost::extents[n

c++ - Boost MultiIndex - 对象或指针(以及如何使用它们?)?

我正在编写一个基于代理的模拟,并认为Boost的MultiIndex可能是我的代理最有效的容器。我不是专业的程序员,我的背景参差不齐。我有两个问题:是让容器本身包含代理(类Host)更好,还是让容器保存Host*更有效?主机有时会从内存中删除(这是我的计划,无论如何......需要阅读new和delete)。主机的私有(private)变量会偶尔更新,我希望通过MultiIndex中的modify函数来完成。模拟中不会有其他主机拷贝,即它们不会在任何其他容器中使用。如果我使用指向主机的指针,我该如何正确设置key提取?我的以下代码无法编译。//main.cpp-ATTEMPTEDPOI

c++ - boost::program_options 可以使用 "-"以外的定界符吗?

我像这样使用boost::program_options:namespacepo=boost::program_options;po::options_descriptiondesc("Options");desc.add_options()("help,?","ShowOptions")("capture-file,I",po::value(),"CaptureFile")("capture-format,F",po::value()->default_value("pcap"),"CaptureFileFormat")("output-file,O",po::value()->de

c++ - 使用 Boost property_tree 更新 XML 文件

我有以下XML文件:1我想添加一个新节点:Parameter2="2"到数据节点。此代码不起作用,保存的文件仍然只包含一个参数:boost::property_tree::ptreetree;boost::property_tree::ptreedataTree;read_xml("test.xml",tree);dataTree=tree.get_child("Data");dataTree.put("Parameter2","2");boost::property_tree::xml_writer_settingsw('',4);write_xml("test.xml",tree,

c++ - 使用 Boost 类型特征进行条件编译

我有一个模板,我想根据参数的类型有条件地编译它。我只关心区分“普通旧数据”(POD),即整数等或类/结构。我在Windows上使用C++VS2008。templateclassfoo{voidbar(Tdo_something){#ifIS_PODdosomethingforsimpletypes#elsedosomethingforclasses/structs#endif}}我一直在查看boost库,我可以看到它们似乎有我想要的东西。但是,我不明白#if语句的正确语法是什么。如有任何帮助,我们将不胜感激。编辑---阅读回复后,我发现我在对问题的定义中忽略了一些内容。类foo是一个模

c++ - 是否缓存了 boost multi_index 提取的键?

我正在使用boost::multi_index和我想根据其大小建立索引的数据类型。但是,此数据类型的size()成员函数执行起来开销很大。multi_index是否缓存从其键提取器中获取的值?例如,如果我创建了一个multi_index容器,其中包含一个有序索引和一个成员函数键(element.size()),并插入了一个元素,该元素的大小使其位于容器中间的某个位置,容器会重新-在找到正确的插入点之前遍历其内部数据结构时,在它访问的所有元素上调用size()成员函数? 最佳答案 好吧,成员函数索引器的文档说他们调用引用的成员函数:h