草庐IT

cpp-next

全部标签

c++ - yaml-cpp 0.5.1 的可选 key

Apreviousanswer描述了如何使用YAML::Node::FindValue("parameter")检查yaml节点中是否存在键。不幸的是,我不能在最新版本(0.5.1)中调用它:error:‘classYAML::Node’hasnomembernamed‘FindValue’这是预期的工作还是有一个等效的功能可以在最新版本中工作? 最佳答案 在新的API中,您可以检查:if(node["parameter"]){//...}在if(...)block中定义一个对象可能很方便:if(YAML::Nodeparamete

c++ - Winpcap - pcap_next_ex 与 pcap_loop

我有一个问题,假设我有一个线程可以捕获数据包并自行处理它们。使用pcap_next_ex:我会使用一个循环,我会在每次交互中处理数据包,假设我调用Sleep(200)来模拟这些东西。使用pcap_next_ex我会在丢失数据包的时刻到达。使用pcap_loop:我会为每个传入的数据包使用回调到数据包处理程序,它会像事件一样工作。在数据包处理程序中,我会处理数据包并假设我调用Sleep(200)来模拟这些东西。我会丢失数据包吗? 最佳答案 是的。pcap_next_ex和pcap_loop调用相同的内部函数,从环形缓冲区读取数据包。区

c++ 如何正确地将 .cpp 拆分为 .cpp 和 .h

我真的不熟悉将.cpp拆分为.cpp和.h。我以前使用过.h文件,但从未真正将.cpp拆分为.cpp和.h。我知道.h文件仅用于声明,而.cpp用于定义,我试图将.cpp拆分为.cpp和.h,但出现了很多错误,所以我想知道是否有人可以帮助我编写代码。下面的类是尚未拆分为.cpp和.h的类,只是为了向大家展示“之前的版本”。TicketOrder.cpp#includeusingnamespacestd;classTicketOrder{private:chartype;intquantity;public:friendstd::ostream&operator现在,我将把上面的类拆分为

C++ - CPP 和 H 中定义的内联有什么区别

这不是一个“我有这个问题”的问题,而是一个“我真的很想了解该语言如何更好地工作”的问题。我最近开始遇到在给定类的.cpp文件中定义内联功能。我想了解内联功能的定义点之间的区别实际上是什么。在对CPP中定义的内联进行对象级分析时,似乎有更高百分比的C++中声明的内联(与在.h中定义的相反)被优化为映射函数而不是合法内联-是这是主要区别,或者这背后是否还有其他我没有看到的目的。 最佳答案 没有区别。inline是对编译器的提示,但现在并不是特别重要,因为编译器非常擅长在没有您帮助的情况下确定是否内联扩展函数(参见register关键字)

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

HarmonyOS Next,你真的足够了解它么?

前言1月18号的那个下午,日后注定会成为让人津津乐道的存在。在发布会过后,我在和华为鸿蒙的开发者专家们一起交流学习之后,收益颇多,趁着还记得住一些关键信息,就赶紧写篇文章记录一下。如果你已经在其他平台看过一些关于HarmonyOSNext的文章,不用担心,我们来聊点别人所不知道的。OPM、HMS、HMSNext是什么关系?在鸿蒙生态中,目前有3套形式不同的操作系统,分别是OpenHarmony、HarmonyOS、HarmonyOSNext。OpenHarmony由开放原子基金会在运营(“捐了”),属于完全开源的操作系统。OpenHarmony使用Linux内核,任何人都可以在gitee上下载

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++ - 为什么 std::next 不接受 InputIterator?

ISOC++1124.3:templatevoidadvance(InputIterator&i,Distancen);//...templateForwardIteratornext(ForwardIteratorx,typenamestd::iterator_traits::difference_typen=1);为什么std::next不接受InputIterator?我正在考虑的合法用例之一是:first=find(next(first,x),last,11);//...我找到合适的DR:next/prevreturnanincrementediteratorwithoutch