草庐IT

C++标准

全部标签

c++ - fprintf/fputs 与大字符串的 cout 性能

当我对fprintf()进行测试时,fputs(),和ofstreamoperator(,我意识到C函数(两者)提供了更好的运行时性能,但是当输入字符串变大时,两个C函数的运行速度都比C++的运算符慢。我想知道C++在小字符串上表现不佳的原因,以及它在大字符串上优于C的原因。欣赏它。注意:不幸的是,我无法共享大小超过1000个字符的字符串。测试结果-StringSize->20chars,C++(50chars,C++(1000chars,C++(2000chars,C++(50000chars,C++(100000chars,C++(这是代码#include#include#incl

c++ - 如何获得忘记算术运算的警告?

考虑这种情况:uint64_tadd(uint32_ta,uint32_tb){returna+b;//programmerneglected(uint64_t)a+b.}我们如何让GCC(或任何其他编译器)的C或C++前端对这种情况发出警告:正在以立即加宽的窄类型执行操作?我通读了当前的GCC文档,并尝试了各种警告,例如-Wconversion,但没有任何效果。 最佳答案 我不知道GCC的标志会引起警告。Coverity静态分析器将发出OVERFLOW_BEFORE_WIDEN警告,因为这已在CERT标准中标记。免责声明:我曾为C

ASCII编码的诞生:解决字符标准化与跨平台通信的需求

在计算机的发展过程中,字符的表示和传输一直是一个重要的问题。为了实现字符的标准化和跨平台通信,ASCII(AmericanStandardCodeforInformationInterchange)编码应运而生。Ascii编码解码|一个覆盖广泛主题工具的高效在线平台(amd794.com)https://amd794.com/asciiencordec字符标准化的需求:在早期计算机系统中,不同的厂商和国家使用各自的字符编码方式,导致字符在不同系统之间的传输和处理存在问题。为了解决这一问题,人们迫切需要一种标准的字符编码方案,以确保字符的一致性和可移植性。ASCII编码的设计思想:1960年代,

c++ - 如何在没有警告的情况下在 gnu++11 标准中写入 "nested if...else statement for constants"?

当我使用嵌套的if....else语句时if(std::is_same::value){//dosomething}elseif(std::is_same::value){//dosomethingelse}...else{//printerror}我收到QACPP静态代码分析器的编译器警告qacpp-4.2.1-4090,其中包含消息“此‘if’语句中的条件是常量。”我该如何修复gnu++11标准中的编译器警告?注意:我不是C++专家,所以如果这个问题听起来很业余,请原谅。 最佳答案 对于T的特定实例,if条件是常量。换句话说st

c++ - 将宏名称传递给 X-Macro 列表是否合法

我想到以下是X-macro的更可取的样式技巧:#defineLIST_OF_COLOURS(X)\X(RED)\X(GREEN)\X(BLUE)#defineLIST_OF_FRUIT(X)\X(APPLE)\X(ORANGE)\X(TOMATO)具体来说,将X宏传递给列表,而不是在每次实例化列表时取消定义并重新定义它。这允许:#defineX_LIST(x)x,#defineX_STRING_LIST(x)#x,#defineCOMPREHENSIVE_SETUP(n,l)\enumn{l(X_LIST)};\charconst*n##Names[]={l(X_STRING_LIST

c++ - 如何在运行时指定数组的维数和?

我正在研究建立分布熵的函数。它使用一个copula,如果有人熟悉的话。我需要根据“关心”的维度来总结数组中的值。示例:考虑以下示例...Dimension0(across)_____________|_0_|_0_|_0_|_2_|Dimension1|_1_|_0_|_2_|_0_|(down)|_0_|_3_|_0_|_6_||_0_|_0_|_0_|_0_|I"careabout"dimension0only,and"don'tcare"abouttherest(dim1).Summingthisarraywiththeabovespecificationswill"collap

c++ - C/C++ 中的领域特定语言,这是 Kosher 吗?

当我想出这个“奇怪”的解决方案时,我只是在为C/C++中的新项目设计一些领域特定语言设计:defineDSL(...)MakeCommand(#__VA_ARGS__\)->Exec()->GetResults()MyResultsresults=DSL(forpinpeopledosomething);好的部分是这是符合标准的(但DuffSwitch也是如此),并且跨平台、可移植等……然而,这种方法实际上并不比将字符串写入代码更好,但是由于DSL引擎无论如何都会解析字符串,这样看起来更漂亮,并且减少了困惑。但想知道其他人对此有何看法。谢谢 最佳答案

c++ - 用于解析 HTTP 请求的标准或通用 Arduino 库?

我正在尝试使用ArduinoEthernetShield获取我的Arduino设置为服务器以理解GET和POST请求。我找到了“WebServerwellstructured”,并且可以对其进行修改以满足我的需要,但是C++中是否已经存在一些非常轻量级的东西,并且可能已经普遍用于带有Arduinos以太网扩展板的Arduinos? 最佳答案 我用过Webduino与我的Arduino以太网屏蔽。它处理GET和POST请求,并读取查询字符串参数。 关于c++-用于解析HTTP请求的标准或通

c++ - 将 Fortran 77 函数传递给 C/C++

是否可以将Fortran77函数作为回调函数指针传递给C/C++?如果是,怎么办?我在网上找到的信息与fortran90及更高版本有关,但我的遗留代码库是77。非常感谢 最佳答案 如果可以在FORTRAN77中完成,它将是特定于编译器和平台的。Fortran2003的新ISOCBinding提供了一种混合Fortran和C以及任何遵循或可以遵循C调用约定的语言(例如C++)的标准方式。虽然正式成为Fortran2003的一部分,并且完全支持整个Fortran2003的Fortran编译器极少,但许多Fortran95编译器都支持IS

c++ - 谁能解释一下当前C++0x标准草案的这一段?

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭11年前。谁能解释ISON3242§3.2第4点中的这个陈述与ISO标准2003相比,n3242的新增部分:4Exactlyonedefinitionofaclassisrequiredinatranslationunitiftheclassisusedinawaythatrequirestheclasstypetobecomplete.AclasstypeTmustbecompleteif:anon-s