草庐IT

标准论

全部标签

C++标准API

我是一名学生,刚接触C++。我正在寻找与JavaAPI一样全面的标准C++API。到目前为止,我一直在使用cplusplus.com,和cppreference.com.如有任何帮助,我们将不胜感激。 最佳答案 C++和Java有非常不同的标准库,因为它们对它们的用途做出了非常不同的假设。Java假定应用程序或小程序将在具有全功能操作系统的主机上运行,​​并以定义的方式执行大多数正常操作。这里面有很多内容,比如在java中,输出会是一个应用程序或者applet。C++不做这种假设,因为C++可用于构建操作系统内核和内核驱动程序,它可

c++ - -GCC4.8.1 的标准默认值

如果我在使用GCC4.8.1编译我的C++应用程序时没有指定-std选项,它默认应用c++11值吗?我读了GCC文档中的话,但仍然不确定。我的英语不好,所以这可能是我的问题。-fext-numeric-literals(C++andObjective-C++only)Acceptimaginary,fixed-point,ormachine-definedliteralnumbersuffixesasGNUextensions.WhenthisoptionisturnedoffthesesuffixesaretreatedasC++11user-definedliteralnumeri

c++ - 根据 C/C++ 标准, "'“与 "\' 相同”吗?

intmain(){char*str1="Tom'scat";char*str2="Tom\'scat";}代码可以用VS2015编译。我只是想知道:这两种方式是否都符合C和/或C++标准? 最佳答案 来自C++11ISO标准§2.14.5StringLiterals[lex.string]...15Escapesequencesanduniversal-character-namesinnon-rawstringliteralshavethesamemeaningasincharacterliterals(2.14.3),exce

c++ - 标准库中rbegin和end函数的区别

我有一个映射的实现,其中ID存储为值,标记为键。这使我能够利用map中的自动排序功能,并让我识别得分最高的元素的ID。for(map::iteratori=marks.begin();i!=marks.end();++i)coutfirstsecondsecondsecond产生这个输出:31234204512275211420输入序列是值的递增顺序。为什么end()不显示“1”而是显示最后输入的一对key?rbegin()和end()有什么区别? 最佳答案 rbegin实际上是容器的最后一个元素。end是容器末尾的过去。所以mar

c++ - 标准是否保证 uint8_t、int8_t 和 char 都是唯一类型?

似乎以下内容可以保证通过(已询问here):#includestatic_assert(!std::is_same_v);static_assert(!std::is_same_v);引用cppreference[char]hasthesamerepresentationandalignmentaseithersignedcharorunsignedchar,butisalwaysadistincttype是否也保证int8_t和uint8_t根据显式签名类型定义未定义就char而言,因此也形成一组具有char?的3种不同类型#include#includestatic_assert(

c++ - 双重标准?为什么只对 char* const& a = "bla"发出警告?

在尝试深入研究thisquestion等案例背后的机制之后暴露了,我仍然不明白为什么下面代码中的第三行只生成警告,而第二行是错误。intmain(){constchar*const&a="bla";//Validcodeconstchar*&a2="bla";//Invalidcodechar*const&a3="bla";//Shouldbeinvalidbutsettlesforawarningreturn0;}我知道虽然引用初始化正在将字符串文字转换为指针引用,但它不应该删除任何cv-qualifiers对象具有,并且由于转换后的类型是constchar*const(从字符串文字

定义自身内部类的标准实例(C ++)

我正在尝试制作自己的vector3类(3D矢量类),但是我发现了一个小问题。我的目标是定义:staticconstVector3zero=Vector3(0.0,0.0,0.0);staticconstVector3one=Vector3(1.0,1.0,1.0);在vector3类内部,我可以通过以下方式访问它们:Vector3::zero;Vector3::one;但是似乎(如果我理解问题)我无法在同一类内部声明一个类实例(例如vector3定义中的vector3),可能是因为当我声明零和一个时,vector3本身的定义未得出结论然而。您知道解决这个问题吗?我希望如果可能的话,不使用任何返

开放计算标准工作委员会(OCTC)聚焦全产业全场景,以开放计算推动数据中心基础设施创新与可持续发展​

在数字经济时代的今天,数据中心作为支撑企业数字化、智能化发展的主要基础设施,重要性越发突显,这也成为过去几年互联网中大型数据中心如雨后春笋般拔地而起的根本原因。更为重要的是,随着互联网数据中心技术的不断演进与发展,已经形成了一套比较完整的开放计算标准体系。然而,对于通用行业而言,受应用场景复杂多样、数据中心规模差异大等各种因素的影响,技术与产品形态多样,并没有形成一种成熟的开放计算体系。随着传统企业数字化转型进程的加速,他们对于数据中心高效、智能、低碳的要求越来越高,将互联网开放计算的创新成果及通用行业应用需求进行融合创新,将会有效推动数据中心基础设施创新与可持续发展。而这,就是开放计算标准工

c++ - std::move(std::unique_ptr()) 组合是否有标准缩写?

我终于要将我的代码库迁移到C++11,这会产生更短更好的代码。但是我发现当我用一个新的指针调用函数时,它比以前长了很多:voidaddCallback(Callback*);//Takesownershipofcallback.//...addCallback(newCallback);//Clear.成为voidaddCallback(std::unique_ptr);//Nocommentneedednow!//...addCallback(std::move(std::unique_ptr(newCallback)));//bleh.提议的make_unique()模板函数只会在

图文讲透Golang标准库 net/http实现原理 - 客户端

客户端的内容将是如何发送请求和接收响应,走完客户端就把整个流程就完整的串联起来了!这次我把调用的核心方法和流程走读的函数也贴出来,这样看应该更有逻辑感,重要部分用红色标记了一下,可以着重看下。图片先了解下核心数据结构Client和Request。Client结构体typeClientstruct{TransportRoundTripperCheckRedirectfunc(req*Request,via[]*Request)errorJarCookieJarTimeouttime.Duration}四个字段分别是:•Transport:表示HTTP事务,用于处理客户端的请求连接并等待服务端的响