为什么这段带有“1234”的代码可以在 C++ 中编译?

2024-04-25

为什么会这样编译:

char ch = '1234'; //no error

但不能超过 4 个chars :

char ch = '12345'; //error: Too many chars in constant

(是的,我知道' '用于一个char and " "用于字符串;我只是在尝试)

这与以下事实有关系吗chars 用 ASCII 数字表示?


C++ 有一种叫做“多字符文字”的东西。'1234'就是一个例子。他们有类型int,并且它们具有什么值以及它们可以包含多少个字符是由实现定义的。

没什么directly与字符表示为整数这一事实有关,但在您的实现中,很有可能'1234'被定义为:

'1' + 256 * '2' + 256 * 256 * '3' + 256 * 256 * 256 * '4'

or:

'4' + 256 * '3' + 256 * 256 * '2' + 256 * 256 * 256 * '1'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么这段带有“1234”的代码可以在 C++ 中编译? 的相关文章

随机推荐

  • Node.js |如何通过串口向设备发送和接收一个字节?

    我正在尝试编写使用以下方法的 Node js 脚本serialport https serialport io 用于读取和写入数据的 npm 包COM5串行端口 使用 RS 232 电缆连接到设备 该设备会自动传输其拥有的数据 要检索设备内
  • PHP:如何使浏览器点击下载文件

    PHP 初学者 文件上传成功 但我的浏览器不下载文件 而是读取文件 所以我参考了其他线程并发现下面的代码不起作用 我想在单击超链接时下载文件download 从MySQL数据库中选择路径 rows mysqli num rows resul
  • gcc 4.4.5 中未定义 _GLIBCXX_ATOMIC_BUILTINS

    我有一些正在移植的代码 并且我已经找到了丢失的错误 宏 GLIBCXX ATOMIC BUILTINS 后来的gcc版本没有定义这个吗 解决这个问题的正确方法是什么 在该版本中 您还需要检查某些特定数据类型的原子宏 因此您可以执行以下操作
  • .NET 应用程序无法启动和接收 XamlParseException

    我编写了一个可以在我的开发 PC Windows 7 上安装和运行的应用程序 开发环境 Window 7 VS2010 WPF C 两者都有 NET 4 and NET 3 5已安装 在其他客户端计算机 XP SP3 2和1 上 安装没有错
  • 我在 Joda-Time 中得到两个日期之间的时间错误

    无论我做什么 我都会得到不正确的结果 谁能给我一些建议吗 这是我的程序的代码 负责获取两个日期之间的时间 我得到了结果 但问题是它不正确 并且我无法找到问题 我的项目中有 Joda 库 if timerightnow isSelected
  • iOS - 管理 IBOutlet 内存的最佳方法是什么?

    我一直在查看 Apple 文档和示例代码 试图确定管理 IBOutlet 内存的最佳方法 至少可以说 我有点困惑 CurrentAddress 示例代码将 IBOutlets 声明为属性 interface MapViewControlle
  • 如何为 iOS 构建 PoDoFo 库

    这可能是这个问题的副本如何在 iOS 上使用 PoDoFo 库对 PDF 进行注释 https stackoverflow com questions 7643771 how can i use the podofo library for
  • 调试时的监视窗口:CS0103:当前上下文中不存在名称“

    我正在使用 Visual Studio Community 2022 64 bit Version 17 4 2 with NET Framework Version 4 8 09032 昨天 2022 年 2 月 12 日有更新 我是通过
  • pictureBox 图片处理异常

    我最近想尝试一下锻造网 http www aforgenet com framework 因为我发现它非常简单 所以我决定使用 Video FFMPEG 命名空间进行一些简单的视频播放 这样我就可以将每个帧直接放在 pictureBox 上
  • Android中线程加载的Web图像

    我在 ListActivity 中有一个扩展的 BaseAdapter private static class RequestAdapter extends BaseAdapter 以及其中定义的一些处理程序和可运行对象 Need han
  • Javascript var 提升问题

    我有一个非常简单的 Javascript 函数 它可以访问 MS SQL 服务器并返回一些记录 有一个单元格 我只想在它唯一时才显示在顶部表格行中 我相信我的问题是 var 提升 因为我在 while 循环中分配的变量不起作用 因为该值不是
  • OS X 应用程序图标和菜单栏图标的图标大小

    OS X 的应用程序图标和菜单栏图标应该有多大 我可以处理小分辨率显示屏 但 Retina 显示屏怎么样 在配备 Retina 显示屏的新 MacBook Pro 上 菜单栏上显示的图标 例如 20 x 20 是否会更小或模糊 我认为应用程
  • UITextView不会设置文本

    我在 UITextView 中设置文本时遇到问题 我的 textView 连接到我的 StoryBoard 我控制拖动来创建我的出口 import UIKit class ViewController UIViewController UI
  • 如何从 JavaScript 使用 Opus 编解码器

    我想看看是否可以使用直接访问 OpusgetUserMedia或最新浏览器中的任何类似内容 我对此进行了很多研究 但没有取得好的结果 我知道 Opus 或 Speex 实际上用于webkitSpeechRecognitionAPI 我想做语
  • HTML5 日期选择器不显示在 Safari 上

    之前使用过 jQuery 日期选择器 现在我已将网站表单中的一些日期字段转换为 HTML5 日期选择器 在文档中 它说支持 Safari 但是 它目前仅显示一个文本字段 而 Chrome 和其他浏览器可以正确显示日期选择器 echo
  • swift 4.0:覆盖“prepare”必须与其覆盖的声明一样可用

    我试图将 Apple 的 ARKit 示例应用程序集成到我的应用程序中 由于ARKit只是一个附加功能 所以我需要支持较低版本的iOS 我向所有 ARKit 示例应用程序类添加了 available iOS 11 0 标签 它几乎可以工作
  • 如何使用 scrapy 合约?

    Scrapy 合约问题 我开始研究 scrapy 框架 也实现了一些蜘蛛 提取 但我无法为蜘蛛编写单元测试用例 因为合同 scrapy提供的包文档没有正确的程序来编写 测试用例 请帮我解决这件事 Yes 蜘蛛合约 http doc scra
  • 如何修改此 PowerShell 脚本以将目录名称更改为更低?

    我试图将所有文件和目录重命名为 lower 我在这里找到了一个 powershell 脚本 在 Powershell 中将文件重命名为小写 https stackoverflow com questions 3822745 rename f
  • HTML5 - 防止全屏模式

    我正在使用全屏API https developer mozilla org en US docs Web API Fullscreen API使用嵌入的 YouTube 视频来检测浏览器窗口是否已进入全屏模式 我的效果很好 我想做的是防止
  • 为什么这段带有“1234”的代码可以在 C++ 中编译?

    为什么会这样编译 char ch 1234 no error 但不能超过 4 个chars char ch 12345 error Too many chars in constant 是的 我知道 用于一个char and 用于字符串 我