允许使用多个字符进行 C++ 字符初始化 [重复]

2024-01-01

在通过阅读书籍学习 C++ 的过程中,我看到了这行(对我来说)奇怪的代码。

char ch('AB'); // Or char ch = 'AB';

这对我来说很奇怪,因为我不明白你可以分配给char多个“字母”,没有任何例外。

cout << "Characters in ch: " << ch << endl; // Output B

为什么这有效?它的内部运作如何?是不是只保存最后一个字符而忽略其他字符?


它被称为一个多字符文字 http://en.cppreference.com/w/cpp/language/character_literal这是完全有效的 C++:

多字符文字,例如'AB', 有类型int和实现定义的值。

[...]

多字符文字的许多实现使用文字中每个字符的值来按大端顺序初始化结果整数的连续字节,例如的价值'\1\2\3\4' is 0x01020304.

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

允许使用多个字符进行 C++ 字符初始化 [重复] 的相关文章

随机推荐

  • Google Analytics(分析)不会跟踪 iOS 上的视图?

    我已将最新的 Google Analytics SDK 添加到我的 iOS 应用程序中 版本 2 0 beta 4 我按照指南所述进行了相同的操作 并将以下代码添加到应用程序委托中 Optional automatically send u
  • 如何从现有的 github 项目添加 helm 存储库?

    我有一个现有的 github 项目 我想创建 添加一个helm文件夹到项目中以存储 helm yaml 文件 我想引用这个 github 项目 文件夹来充当我的本地 开发环境中的 helm 存储库 我知道我可以将图表添加到我的本地 默认 h
  • 为Unity构建一个简单的在线游戏服务器

    我正在尝试为我的坦克游戏 2D Unity 构建一个在线游戏服务器 在我的游戏中会有2 4名玩家控制他们的坦克并互相战斗 我尝试过使用 Unity 网络 它不太适合我的游戏 因为我们必须选择房间中的 1 名玩家作为 服务器 这对于我未来的开
  • 固定分配 std::vector

    我是一名嵌入式软件开发人员 因此我不能总是使用所有优秀的 C 功能 最困难的事情之一是避免动态内存分配 因为它对于所有 STL 容器来说都是通用的 The std vector然而 在处理可变数据集时非常有用 但问题是分配 例如std re
  • 将命令行参数传递给 Clozure common lisp

    我之前熟悉python 现在我正在尝试学习common lisp并在windows系统下使用ccl clozure common lisp 我发现没有一种方便的方法来将 lisp 文件作为 python 运行 所以我写了一个bat文件来编译
  • 无法访问映射到 docker 容器端口的主机上的端口

    我已经使用命令启动了一个 docker 容器 sudo docker run it P d plcdimage 该映像是使用具有 EXPOSE 8080 指令的 Dockerfile 构建的 容器运行 jboss 服务器 并在其上部署了应用
  • 如何从函数(UDF)返回表变量?

    我正在使用 SQL Server 2012 并且一直在尝试许多不同的方法来从函数内部返回表变量 但我无法让它工作 我尝试过将变量声明移动到不同的位置等 这是 sql 的核心内容 如果您可以将内容包装在一个 UDF 函数中 该函数实际编译并返
  • 在 Android 上以编程方式发送彩信

    我在执行一项任务时遇到了问题 我应该在 android 2 1 上使用我们自己的界面发送彩信 所以你可以猜测调用默认的 Activity 是不可能的 所以我的问题是 有没有一种方法可以使用 android SDK 以编程方式发送彩信 没有说
  • 如何将 Twitter 小部件插入 GWT 视图

    我有一个在 GWT 应用程序中创建的视图 我想嵌入 使用 twitter 提供的 Twitter 小部件之一 就像这个 http twitter com about resources widgets widget search http
  • 向脚本添加密码屏蔽

    为了练习 我正在编写一个程序来隐藏文件夹 程序本身运行良好 但我想用星号 屏蔽我的输入 我找到了将输入屏蔽为独立脚本的代码 但我无法找到将代码集成到我的代码中的方法 任何帮助将不胜感激 程序代码 echo off color 5F titl
  • 核心数据 - 放弃更改

    希望有人能解释一下发生了什么事 如果我从核心数据模型中获取一个对象 请修改模型中未保留甚至未定义的属性 然后销毁并再次获取该对象 该值仍为先前设置的值 为什么是这样 Promotion promotion Promotion promoti
  • 更改 user.home 系统属性

    如何从 java 程序外部更改 user home 系统属性 以便它认为它是与 D Documents and Settings USERNAME 不同的目录 通过环境变量还是虚拟机参数 设置 VM 参数应该有效 java Duser ho
  • 使用 xlrd 从 Python 中的 Excel 工作表超链接获取 URL

    我正在尝试使用 xlrd 获取 Excel 工作表第二列中元素的超链接 URL 使用时 book open workbook mypath formatting info True sheet book sheet by index 0 r
  • 了解两个不同大小矩阵的 np.corrcoef 输出

    我想计算每个之间的相关性列向量矩阵的A与每个列向量矩阵的B 考虑 vectorsize 777 A np random rand vectorsize 64 B np random rand vectorsize 36 corr np co
  • 在 JavaScript 原型函数中保留对“this”的引用[重复]

    这个问题在这里已经有答案了 我刚刚开始使用原型 JavaScript 但在弄清楚如何保存this当作用域发生变化时 从原型函数内部引用主对象 让我解释一下我的意思 我在这里使用 jQuery MyClass function this el
  • emacs 是否为 html 模式提供隐藏显示

    emacs 是否具有隐藏 显示 html 代码折叠功能 当我使用 org 模式时 我有它 但似乎无法在 nXML html 端找到它 我为 mhtml mode 编写了这个 它运行得很好 它可以通过标签折叠 HTML 以及嵌入的 CSS 和
  • 如何将(参考)Quick book 的 dll 添加到 silverlight 项目?

    我正在使用 silverlight 项目 在此我必须使用 Quick books SDK QBFC 但问题是 silverlight 不允许其他组装 因为 Silverlight 使用不同的运行时和常规 Net 框架的子集 这就是为什么我们
  • 在 R 中使用从宽到长的 Reshape [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试在 R 中将数据从宽到长重塑 我的宽格式数据如下所示 我有以下数据矩阵 在行中我有不同的公司 在列中有来自不同年份的不同变量 收
  • 如何在 Ubuntu 上托管/发布我的 .Net Core WebAPI?

    我正在学习 Net Core 我使用 ASP Net MVC 开发了 Web 应用程序 因为它可以在本地 IIS 上安装和运行 在 Ubuntu 和 Linux 中托管 发布 Net Core WebApi 的类似方式是什么 而不是在 50
  • 允许使用多个字符进行 C++ 字符初始化 [重复]

    这个问题在这里已经有答案了 在通过阅读书籍学习 C 的过程中 我看到了这行 对我来说 奇怪的代码 char ch AB Or char ch AB 这对我来说很奇怪 因为我不明白你可以分配给char多个 字母 没有任何例外 cout lt