草庐IT

标准线

全部标签

c++ - 学习 C++ 标准库——一个好主意?

我是C++的初级程序员,我还在学习基础,但我有一个关于C++中的标准库和STL的简单问题,我认为这不是来自语言的核心,我的意思是这个库只是使编程和可移植性更容易,这意味着如果我学习并掌握了C++规则,我可以构建自己的规则,我的意思是通常通过练习获得这种调用体验。示例:cout是标准输出函数,但是如果我想为Windows编写一个GUI软件,我永远不会只看它!!我的问题:这是真的吗?如果不是,为什么? 最佳答案 如果不熟悉标准库,就不能真正称得上是C++程序员。自己编写是一个非常糟糕的主意。我强烈建议您获取NicolaiJosuttis

c++ - 标准库是否需要符合标准?

是否要求标准库符合标准?我觉得标准库不符合标准。这种感觉的基础是编译器生成的错误消息。例如,有时GCC会给出以前缀__gxx开头的错误消息以及许多我现在不记得的其他错误消息。但是看到它们让我觉得这些是非常编译器特定的消息,不同的编译器将无法编译GCC提供的标准库,反之亦然。是真的吗?这个问题可以换句话说:一个编译器提供的标准库可以用其他编译器编译吗?当我们说一个特定的编译器符合标准时,它是否自动意味着它附带的标准库也符合标准?或者它只是意味着这个编译器可以编译我们程序员编写的符合标准的代码?我可以在我的项目中使用一个编译器提供的标准库,而我的项目使用不同编译器来编译项目吗?可移植性是否

合规性问题:策略未符合最新的安全标准或法规要求

合规性问题-策略未符合最新的安全标准或法规要求概述在企业中制定和管理网络与信息安全政策是至关重要的任务之一。然而,有时候企业中的防火墙策略并未完全符合现有的网络安全标准和法规的要求。本文将对这一问题进行剖析并给出相应的解决措施。问题描述企业的防火墙策略可能因为以下原因不符合最新的安全和法规要求:1.**更新滞后**:安全标准的更新换代非常迅速,但许多企业在实施新的规则方面未能及时跟进;2.**人员培训不足**:员工可能对最新政策和规定缺乏了解或者误解了相关内容;3.**技术限制**:企业可能由于预算、资源等因素无法采用更新的技术和产品来支持现有战略的实施等。这些问题的存在可能导致企业面临法律风

c++ - 标准概念列表?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion据我所知,C++有Mergable、Container、Comparable、Sortable、Arithmetic等概念。我到处都看到它们,但我从未见过列表。在哪里可以找到标准C++概念的列表?-edit-人们很困惑,但我的意思是th

c++ - 为什么标准 R 中值函数比简单的 C++ 替代函数慢得多?

我在C++中实现了以下中位数,并通过Rcpp在R中使用它://[[Rcpp::export]]doublemedian2(std::vectorx){doublemedian;size_tsize=x.size();sort(x.begin(),x.end());if(size%2==0){median=(x[size/2-1]+x[size/2])/2.0;}else{median=x[size/2];}returnmedian;}如果我随后将性能与标准内置R中值函数进行比较,我将通过microbenchmark获得以下结果>x=rnorm(100)>microbenchmark(m

c++ - uint32、int16、uint8 .. 为什么这些常用数据类型没有纳入标准

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭5年前。Improvethisquestion多年来,在涉及C/C++的多个组织和各种项目中,我发现通过定义本地版本的types.h解决了对固定宽度整数的需求,它看起来像这个:-typedefsignedcharint8;typedefunsignedcharuint8;typedefsignedshortint16;typedefunsignedshortuint16;typedefsignedlongint32;typedefun

C++ 标准 vector resize() 函数

resize()根据给定的大小添加/删除元素。reserve()保留内存空间,不会重新分配内存。我的问题是resize是否也像vector的容量一样工作,只会不增加?要添加,将组合:std::vectorvector;vector.reserve(5);vector.resize(5);有意义吗?它是多余的吗?这里的目标是能够覆盖vector中的值,而无需vector分配任何额外空间。 最佳答案 来自thissite:resize():这使您可以将vector的大小更改为您想要的任何大小。它将用元素填充底层缓冲区。reserve()

c++ - 标准字符串应该崩溃但不会

我有一个类:classA{public:stringB;};然后是代码:Aa1;a1.B="abc";printf("%p.\n",a1.B.c_str());Aa2(a1);printf("%p.\n",a2.B.c_str());两个实例的c_str都指向同一个地方(据我所知,复制构造函数逐位复制A,字符串在内部将数据存储在char*中,指针也被复制。但问题是,为什么这段代码不会崩溃?a1和a2是堆栈变量,当解构它们时,字符串B也会被解构,这些字符串(指向相同内存位置)的内部char*不会被删除两次吗?不是双重删除,这会导致崩溃吗?顺便说一句,我禁用了gcc优化,而valgrind

c++ - 用标准库(静态)编译静态库链接

我正在尝试编译一个静态库(我们称之为library.a)。该库消耗标准库的资源。库可以通过某种方式静态链接标准库。我已经证明了这样的事情:g++-clibrary-static-libstdc++-olibrary.oarrcslibrary.olibrary.a但是如果我这样做,就没有标准库的链接。然后我用这种方式证明了:g++library-static-stdlib-olibrary.oarrcslibrary.olibrary.a但是让我添加一个主要功能。是否有可能通过静态链接标准库(std::string、std::vector、std::cin等...)来创建静态库。谢谢:

c++ - 是否有用于 C 字符串的标准 C++ 迭代器?

有时我需要使用通用C++迭代器范围接口(interface)[first,last)将C字符串传递给函数。是否有适用于这些情况的标准C++迭代器类,或无需复制字符串或调用strlen()的标准方法?编辑:我知道我可以使用指针作为迭代器,但我必须知道字符串在哪里结束,我需要调用strlen()。编辑2:虽然我不知道这样的迭代器是否标准化,但我当然知道这是可能的。回应讽刺的回答和评论,这是stub(不完整,未经测试):classCStringIterator{public:CStringIterator(char*str=nullptr):ptr(str){}booloperator==(