草庐IT

cpp-httplib

全部标签

c++ - 如何在 cpp 中使用 std::regex_replace() 函数查找和替换

我正在做一个项目,我需要找到以$开头并以>$结尾的单词,并将其替换为存储在变量中的单词。例子stringa="hello";stringb="Fellow$$,fullof$$people"std::cout$)\\b",a);//shouldprint"Fellowhello,fullofhellopeople"但似乎这是不可能直接实现的。我该如何解决这个问题? 最佳答案 除了两点,你的代码没有问题:正则表达式-你没有转义$这意味着字符串结束,\b$前后的单词边界这需要一个单词字符出现在$旁边符号。regex_replace没有签

c++ - C++ 链接器如何知道要使用哪些 .cpp 文件

我是一名C++学习者,我遇到了将代码分成多个文件以加快大型项目的编译过程的概念。然而,这本书没有告诉我什么,我试图在其他书籍和网络上找到它,但没有运气,链接器(在编译期间)如何知道要包含哪些文件。当我创建新文件时,我使用#include"newfile.h"将它的header连接到主文件,但是在这个header中我没有写在哪里可以找到函数的定义。所以我想象的过程是,它从主文件开始,并在那里找到与其他文件的“连接”。问题是它如何找到那些我认为不需要与其头文件同名的.cpp文件。示例:主文件:#include#include"krneki_H.h"usingnamespacestd;int

c++ - Cpp - 检查 key 是否存在于 boost bimap 中

我有一张双图。我想检查key是否存在于我的bimap中。我怎样才能做到这一点。这是我的双图:namespacebimap{structName{};structID{};typedefboost::bimaps::bimap>,boost::bimaps::set_of>>name_index_bimap;}我想检查“名称”是否存在。 最佳答案 这在thisexample中解释得很清楚。.在您的情况下,它应该如下所示:name_index_mapyour_map;name_index_map::right_const_iterato

c++ - CppUnit 和 CMake : . cpp 文件被编译两次

我目前正在使用CMake构建我的项目,并使用CppUnit对其进行测试。在我的CMake文件中,我创建了两个可执行文件。sample是编译后的源代码本身。使用sample_test我运行测试。如果我是这是我的CMakeLists.txt的一部分SET(SAMPLE_ROOT_PATH${PROJECT_BINARY_DIR})SET(SAMPLE_SOURCE_PATH${SAMPLE_ROOT_PATH}/src)SET(SAMPLE_TEST_SOURCE_PATH${SAMPLE_ROOT_PATH}/test)SET(SAMPLE_BIN_PATH${SAMPLE_ROOT_P

c++ - Cassandra session 线程安全吗? (使用 cpp 驱动程序)

我正在开发一个多线程应用程序并使用Cassandra作为后端。之前,我为每个子线程创建了一个单独的session,并在线程执行结束前关闭session。但后来我认为这可能是一项昂贵的工作,所以我现在将其设计为在服务器启动时打开一个session,任意数量的客户端都可以使用该session进行查询。问题:我只想知道这是否正确,或者有更好的方法吗?我知道连接池是一种选择,但在这种情况下真的需要吗? 最佳答案 它在Java驱动程序中肯定是线程安全的,所以我假设C++驱动程序是相同的。我们鼓励您只创建一个session并让您的所有线程都使用

c++ - 在 CPP 类中声明一个 C 函数作为友元

我需要在C函数中使用类的私有(private)变量。我正在做这样的事情classHelper{private:std::stringname;public:std::getName(){returnname;}friendextern"C"voidinitializeHelper();};但是这段代码给出了错误unqualified-idbeforestringconstant外部“C”{我无法确定我在这里做错了什么。 最佳答案 只需在你的课前转发声明这个函数:extern"C"voidfoo();然后你可以在friend声明中使用

Python3、Boost-Python 和 Cpp 链接器错误

所以我打算把我的笔记本电脑扔出窗外,然后去烧掉AppleHQ。查看以下更新:我无法让python3、boost-python和clang相互协作。我遇到的错误正在运行:clang++-ohello.sohello.cpp调用响应:Undefinedsymbolsforarchitecturex86_64:"__Py_NoneStruct",referencedfrom:boost::python::api::object::object()inhello-0c512e.o"_main",referencedfrom:implicitentry/startformainexecutabl

c++ - 如何判断 .cpp 文件在哪个项目中

我接手了一个解决方案中的C++代码。一个解决方案包含许多项目。我编辑了一个.cpp文件,但无法归档它属于哪个项目,所以我不知道要构建哪个项目。构建整个解决方案需要很长时间。如何找出.cpp文件属于哪个项目? 最佳答案 在VisualStudio中,单击编辑-查找和替换-在文件中查找上面写着“查找内容”的地方输入您感兴趣的文件的名称。其中显示“查看:”输入您要搜索的路径或使用[...]浏览按钮其中显示“查看这些文件类型:”输入*.vcxproj它应该在“查找结果”窗口中列出包含该文件的所有项目文件。

c++ - 包含在 header 或 cpp 中——Qt 中首选的是什么

当我写一个C++类时,我只在头文件中包含了特定情况。我更喜欢前向声明,我相信这是C++中的最佳实践。但是Qt类通常有很多属于标准Qt类的字段,因此将它们全部写在前向声明中似乎不是一个好主意。有什么首选方法吗?Qt有大量的文档,所以我认为它已经回答了我的问题,但我才刚刚开始阅读它。 最佳答案 我的规则是头文件只包含那些定义相关头文件使用的功能的文件。假设您在header中有指向某个类Foo的指针和引用,但header从未插入或实例化这些对象。在这种情况下,您不需要类的定义。您只需要一个前向声明。另一方面,如果您插入类型为Foo的对象,

c++ - 在 .cpp 或 .h 文件中,我应该在哪里包含头文件?

这个问题在这里已经有了答案:Wheretoputincludestatements,headerorsource?(9个回答)关闭9年前。我应该在.cpp文件还是.h文件中的什么地方包含头文件?我现在正在做一个项目,并试图想出一个干净的一劳永逸的方法。现在的状态是,包含文件在.cpp和.h文件中。例如,有时他们有#include在someFile.h中,有时在someFile.cpp中。我想知道,在何处执行包含重要吗?这两种方式都有效,但有什么陷阱吗?谢谢