草庐IT

标准图

全部标签

c++ - 确认此标准库错误与 MSVC 2015 RC 中的分配器有关

这是一个SSCCE:#include#includetemplatestructmy_allocator:std::allocator{//Thisoverridingstructcausestheerrortemplatestructrebind{typedefmy_allocatorother;};//Ignoreallthis.typedefstd::allocatorbase;typenamebase::pointerallocate(typenamebase::size_typen,std::allocator::const_pointer/*hint*/=nullptr){

c++ - C++03 标准容器的堆栈分配器

对于一个软件,我必须避免在堆中使用任何内存,并且只依赖堆栈分配的内存。然后,这使我无法使用我真正想使用的任何C++标准容器,例如vector、映射、字符串(好吧,basic_string)来简化开发和数据操作。我发现了(许多)堆栈分配器的实现,例如thisone它本身引用了另外两个,或者thisone来自Chrome。其中许多并不完全符合标准,或者依赖于C++11(遗憾的是,我目前还在使用C++03)。您对C++03现有的良好堆栈分配器有任何反馈,或者我应该采用上述之一吗?谢谢! 最佳答案 HowardHinnant的short_a

c++ - 有没有一种符合标准的方法来用 C++ 编写可移植的 ls 实用程序?

让我们考虑以下代码,列出作为程序第一个参数给出的路径的目录内容:#include#includeintmain(intargc,char**argv){if(argc!=2)std::cerr乍一看这似乎非常精简、可移植并且符合C++标准(请忽略如果目录不存在它不会捕获异常)。但是,似乎存在一些陷阱。特别是,C++标准似乎没有强制要求argv[1]的编码与std::filesystem::path构造函数接受的编码相匹配,它似乎也没有要求std::filesystem::path::string()返回的编码与std::cout接受的编码相匹配。恰恰相反,该标准似乎引入了新术语“nat

C++ 标准 I/O 和信号

如果我调用一个像read()这样的POSIX函数,它不是C++标准库的一部分,我必须担心它会被信号中断并处理EINTR返回值。如果我根据thisdocumentation调用像fread()这样的C++标准库函数没有提到EINTR所以标准库似乎对用户隐藏了这一点。我的理解是否正确?这是否适用于所有C++标准库函数?更新:那么从响应中仍然不清楚的是,不能编写在每个平台上都能正常运行的标准C++的结论是什么?我看到人们提到不属于标准的POSIX行为,所以这很令人困惑。 最佳答案 IfIcallaPOSIXfunctionlikeread

Android标准可绘制的3行垂直的名称是什么

我需要知道r.android中所附图标的名称是什么,可从我的应用中使用它看答案如果是设计自由:android.support.design.r.drawable.abc_ic_menu_overflow_material

c++ - 标准化 2D/3D vector/坐标类

问题这件事困扰了我一段时间,但我找不到明确的答案:是否有人知道将标准2D和/或3Dvector(具有x、y和z成员的结构)引入STL的提案?如果没有,是否有一种现实的方法可以让这样的类进入下一版本的标准——而不是自己编写一个完整且完美的提案?并且,是否有任何充分的理由(除了没有人有时间)为什么还没有这样做?我绝对愿意做出贡献,但我相信我缺乏制作足够高质量的东西以被接受的经验(我不是专业程序员)。推理/背景到目前为止,我已经看到了几十个库和框架(无论是图形、物理、数学、导航、传感器融合……),它们基本上都实现了自己的版本structVector2d{doublex,y;//...};/*

c++ - 命名空间标准重载小于

我很好奇为什么这段代码不起作用:#include"stdafx.h"#include#include#include#include#includetypedefstd::tupleintString;booloperator(lhs),std::get(lhs))(rhs),std::get(rhs));}voidprintIntStrings(std::vector&v){for(intString&i:v){std::cout(i)(i)v;v.push_back(std::make_tuple(5,"five"));v.push_back(std::make_tuple(2,"

c++ - 我可以将 final 关键字应用于 C++11 中的 POD(标准布局)结构吗?我是不是该?

在一个充满对象(具有适当行为)和相对较少的非面向对象结构(仅由数据字段和无方法组成)的C++项目中,我想防止意外误用这些结构,其中可能会尝试创建一个继承自它的类。根据我的理解,因为这些“POD”(普通旧数据)结构没有虚拟析构函数,所以不可能通过指针正确删除派生类对象(如果允许创建它)POD类型。这似乎是C++11“final”关键字的一个很好的用例,它将一个类或结构标记为不可继承。但是,我想知道“final”关键字是否会导致结构变为非POD?我怀疑标准文档可能已经解决了这个问题,但我不够聪明,无法在很长的文档中进行筛选以找出答案。欢迎任何有用的指示。注意:我对仅仅知道它通过了某些编译器

c++ - 为什么 C++ 标准库不提供 cmath 函数的 constexpr 版本?

自C++11以来,我们就有了constexpr函数,并且自从每个新标准(14,1z)以来,它们的限制越来越少。然而,STL中最明显的函数constexpr,cmath/math.h函数,仍然没有constexpr任何标准库实现AFAIK中的版本。这只是在C++标准的积压中,还是有任何其他原因导致我们仍然没有这些函数的constexpr版本? 最佳答案 它还没有标准化。初始proposal上周刚提交,但只涵盖效用和线性运算,不包括任何超越函数。数学很难,float学很复杂。例如,实现不允许在constexpr中溢出到无穷大,但这尚未明

当今最常用的物联网协议和标准有哪些?

事实表明,并不是每种物联网通信协议都适用于每种部署或设备。在选择一种协议之前,请考虑功率和安全性需求。物联网的数量和覆盖范围正在迅速扩大,2020年标志着物联网连接数量首次超过非物联网在线连接数量。根据市场研究机构IoTAnalytics公司的数据,到2020年,物联网设施数量将达到117亿个,而非物联网连接(如智能手机和电脑)将达到100亿个。研究人员估计,到2025年,物联网连接的数量将增至309亿个。包括5G和低功耗广域网在内的物联网协议的可用性和扩展推动并支持了大部分增长。为什么物联网协议很重要?物联网的好处和价值来自于使各个组件能够进行通信;这种通信能力是将数据从端点设备通过物联网管