C 和 C++ 标准之间有什么关系?

2023-12-28

我正在写这个答案 https://stackoverflow.com/questions/5539249/why-transforms-begin-s-end-s-begin-tolower-cant-be-complied-successfu/37438120#37438120我引用了http://en.cppreference.com/w/cpp/string/byte/tolower#Parameters http://en.cppreference.com/w/cpp/string/byte/tolower#Parameters

不能表示为 unsigned char 并且不等于 EOF,行为未定义

当我去检查时我发现作者的评论是:

根据 C99 7.4/1,不能将负符号字符与任何 ctype.h 函数一起使用

作者引用了C++文档中的C99标准。这有效吗?我在 C++ 标准中找不到有关此函数定义的任何内容,因此我必须假设它是有效的。

但这让我担心有两个原因:

  1. 我如何知道 C++ 标准依赖于哪个版本的 C 标准?
  2. 有以下列表C 和 C++ 之间的差异随处可见 https://softwareengineering.stackexchange.com/questions/16390/what-are-the-fundamental-differences-between-c-and-c。如果我参考 C++ 查看 C 标准,我怎么可能知道我正在查看的区域是否已被覆盖?

对于第一个问题:

C++ 标准明确列出了它所依赖的 C 标准规范性引用文件部分。对于 C++14,[intro.refs] 1.2/1 恰好列出了 C 99:

  • ISO/IEC 9899:1999,编程语言——C
  • ISO/IEC 9899:1999/Cor.1:2001(E),编程语言 — C,技术勘误表 1
  • ISO/IEC 9899:1999/Cor.2:2004(E),编程语言 — C,技术勘误表 2
  • ISO/IEC 9899:1999/Cor.3:2007(E),编程语言 — C,技术勘误表 3

对于第二个问题:

C++ 标准并没有隐含地包含anyC 标准的一部分;所有对 C 标准的引用都是明确的。关于 C++ 与 C 的差异的一个很好的信息来源是附录 C,C++ 标准的“兼容性”,特别是 C.1 [diff.iso]。

此外,对 C 标准库的引用分散在 C++ 标准库的描述中(C++14 中的第 17-30 章)。特别感兴趣的是:

  • 17.2【library.c】,描述了C标准库的基本包含
  • 第 18 章 [语言支持],描述了许多<c:::>C++ 标准库的标头(提供 C 标准库功能的标头)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C 和 C++ 标准之间有什么关系? 的相关文章

  • 向进度条添加百分比文本 C#

    我有一个方法可以显示进程栏何时正在执行以及何时成功完成 我工作得很好 但我想添加一个百分比 如果完成 则显示 100 如果卡在某个地方 则显示更少 我在网上做了一些研究 但我无法适应我正在寻找的解决方案 这是我的代码 private voi
  • 每个托管线程是否都有自己对应的本机线程?

    我想知道是否在 Net 中创建托管线程 通过调用Thread Start 导致在后台创建一个本机线程 那么托管线程是否有对应的本机线程呢 如果是 当托管线程等待或睡眠时 是否意味着相应的本机线程也在等待或睡眠 是的 NET 线程映射到所有当
  • 使用 std::packaged_task/std::exception_ptr 时,线程清理程序报告数据争用

    我遇到了线程清理程序 TSan 的一些问题 抱怨某些生产代码中的数据争用 其中 std packaged task 通过将它们包装在 std function 中而移交给调度程序线程 对于这个问题 我简化了它在生产中的作用 同时触发 TSa
  • 注销租约抛出 InvalidOperationException

    我有一个使用插件的应用程序 我在另一个应用程序域中加载插件 我使用 RemoteHandle 类http www pocketsilicon com post Things That Make My Life Hell Part 1 App
  • 当我们想要返回对象的引用时,为什么我们在赋值运算符中返回 *this 而通常(而不是 this)?

    我正在学习 C 和指针 我以为我理解了指针 直到我看到这个 一方面 asterix 运算符是解引用的 这意味着它返回值所指向的地址中的值 而与号 运算符则相反 它返回值存储的地址记忆 现在阅读有关赋值重载的内 容 它说 我们返回 this因
  • 单个对象的 Monogame XNA 变换矩阵?

    我读过一些解释 XNA Monogame 变换矩阵的教程 问题是这些矩阵应用于 SpriteBatch Begin matrix 这意味着所有 Draw 代码都将被转换 如何将变换矩阵应用于单个可绘制对象 就我而言 我想转换滚动背景 使其自
  • 回发后刷新时提示确认表单重新提交。我做错了什么?

    我有一个以空白 默认状态启动的仪表板 我让用户能够将保存的状态加载到仪表板中 当他们单击 应用 按钮时 我运行以下代码 function CloseAndSave var radUpload find radUpload1ID var in
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • 为什么 std::strstream 被弃用?

    我最近发现std strstream已被弃用 取而代之的是std stringstream 我已经有一段时间没有使用它了 但它做了我当时需要做的事情 所以很惊讶听到它的弃用 我的问题是为什么做出这个决定 有什么好处std stringstr
  • 等待进程释放文件

    我如何等待文件空闲以便ss Save 可以用新的覆盖它吗 如果我紧密地运行两次 左右 我会得到一个generic GDI error
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 动态添加 ASP.Net 控件

    我有一个存储过程 它根据数据库中存储的记录数返回多行 现在我想有一种方法来创建 div 带有包含该行值的控件的标记 如果从数据库返回 10 行 则 10 div 必须创建标签 我有下面的代码来从数据库中获取结果 但我不知道如何从这里继续 S
  • Cmake 链接共享库:包含库中的头文件时“没有这样的文件或目录”

    我正在学习使用 CMake 构建库 构建库的代码结构如下 include Test hpp ITest hpp interface src Test cpp ITest cpp 在 CMakeLists txt 中 我用来构建库的句子是 f
  • 按 Esc 按键关闭 Ajax Modal 弹出窗口

    我已经使用 Ajax 显示了一个面板弹出窗口 我要做的是当用户按 Esc 键时关闭该窗口 这可能吗 如果有人知道这一点或以前做过这一点 请帮助我 Thanks 通过以下链接 您可以通过按退出按钮轻松关闭窗口 http www codepro
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且
  • Oracle Data Provider for .NET 不支持 Oracle 19.0.48.0.0

    我们刚刚升级到 Oracle 19c 19 3 0 所有应用程序都停止工作并出现以下错误消息 Oracle Data Provider for NET 不支持 Oracle 19 0 48 0 0 我将 Oracle ManagedData

随机推荐

  • 自定义导航标题偏移 ios 11

    我有一个自定义导航项标题 它只是两个标签 一个在另一个之上 从 xib 文件加载 它是通过调用以下方法加载的 class Utilities Title and subtitle format custom title in Navigat
  • 实体框架 3.5 中的左连接

    我正在尝试在实体框架 3 5 上进行左连接 但我无法这样做 from i in from ta in context test attempt join uf in context user flag on ta users USERID
  • 给房产最好的命名? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Android使用AsyncListDiffer时如何对RecyclerView列表进行排序?

    我有一个显示 CardView 列表的 RecyclerView 我最近将项目从使用 RecyclerView 适配器切换为使用 AsyncListDiffer 适配器 以利用后台线程上的适配器更新 我已经转换了列表的所有以前的 CRUD
  • SOAP 信封中的 WCF 和输入参数顺序

    我在使用 webHttpBinding soap 1 1 的 WCF Web 服务中遇到 对象引用未设置为对象实例 错误 我注意到 如果您按特定顺序输入参数 则不会引发错误 i e
  • 如何从另一个网站抓取特定 DIV 并将其加载到我的网站?

    我找了又找 似乎找不到我想要的东西 我不是最擅长 javascript 所以现在我寻求帮助 我用JQuery在我的网站上 我希望能够从类似网站调用 body 或 item 等特定元素NewEgg or Walmart or Bestbuy
  • 帮助 K&R 计算字符示例

    我正在阅读 K R 的第二版 我被这个看似简单的例子难住了 include
  • arraylist并发修改[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在用
  • 交叉连接同一个表中的 N 组行

    我有一个通用的 Dimension 和 DimensionMember 表 CREATE TABLE dbo Dimension ID int NOT NULL IDENTITY 1 1 Label nvarchar 255 CREATE
  • 如何正确访问 RefCell 中的值

    我试着把头扭过来Rc and RefCell在铁锈中 我想要实现的是对同一对象有多个可变引用 我想出了这个虚拟代码 use std rc Rc use std cell RefCell struct Person name String m
  • 权限拒绝:不允许在android中发送广播

    我创建了一个简单的相机应用程序 它在除 Android 4 4 之外的所有 Android 版本中都能正常运行 当我从相机应用程序拍照时出现以下错误 java lang SecurityException Permission Denial
  • 如何在滚动时禁用 TouchableOpacity 的突出显示效果?

  • 如何自定义颜色条

    使用这段代码 我不知道如何自定义颜色栏 关于此的色彩图webiste http matplotlib org users colormaps html不能满足我 shade m contourf Lon Lat TBB np arange
  • Android 中的 ViewPager + RecyclerView 问题

    嗨 我有Tablayout with Viewpager我正在使用Fragment用于表格布局 现在在每个 Tablayout 片段中我都有Recyclerview并显示项目 请查看我的 json 响应 http pastebin com
  • Money_format() 函数的替代方案

    我正在尝试使用money format PHP 中的函数 但出现以下错误 Fatal error Call to undefined function money format 关于此错误的搜索表明该函数money format 仅当系统有
  • 如果我需要额外的 REST API,Meteor 是一个选择吗?

    我要编写一个 Web 应用程序 它应该可以从 Web 和本机移动设备应用程序进行 CRUD 访问 对于后者 我绝对致力于 REST API 通过 Meteor com 可以实现这一点吗 是否可以选择仅将 Meteor 用于 Web 并使用第
  • Python MySQLdb 异常

    刚刚开始掌握 python 和 MySQLdb 并且想知道 在哪里放置 try catch 块来连接 MySQL 是最好的选择 在 MySQLdb connect 点 当我查询时也应该有一个吗 我应该在这些块中捕获哪些异常 谢谢你的帮助 干
  • PHP:比 strtotime 更好的日期解析器

    我正在尝试解析特定格式的字符串 但我很惊讶地发现我找不到一个好的函数来做到这一点 我发现的唯一一个是斯特托时间它不适合它guesses日期格式 我真的不相信 猜测 部分 此外 我的字符串输入是法语格式 dd mm aaaa 这似乎不太容易理
  • 如何禁用 HTML 视频播放器播放速度/三个点

    我不想在视频中显示播放速度 是否有任何控件或controlList属性来禁用该选项 例如controls disablepictureinpicture controlslist nodownload 将参数 noplaybackrate
  • C 和 C++ 标准之间有什么关系?

    我正在写这个答案 https stackoverflow com questions 5539249 why transforms begin s end s begin tolower cant be complied successfu