在变量周围使用大括号 (Brace) C++

2023-11-25

我正在编程课上学习二维数组。我的老师在没有解释的情况下使用了一些东西,我很好奇我们为什么使用它。由于它与符号有关,我不确定如何谷歌或搜索它,因为这些符号在搜索本身中使用。无论如何,代码是这样的:

int small[26]= {0}, large[26]={0}, i;

为什么 0 周围需要大括号?

该代码所属的程序检查文件并查找字母表中的每个字母并单独对它们进行计数。


还可以写得更简单

int small[26]= {}, large[26]={}, i;

在本例中,大括号表示数组的初始值设定项列表。

例如,假设您要定义一个包含元素 1、2、3、4、5 的数组。

你可以写

int a[5];

a[0] = 1;
a[1] = 2;
a[2] = 3;
a[3] = 4;
a[4] = 5;

然而,C++ 允许在定义数组时为其分配元素。等效的记录将看起来

int a[5] = { 1, 2, 3, 4, 5 };

如果初始化器小于数组的大小,则剩余元素将用零初始化。例如

int a[5] = { 1, 2 };

在这种情况下,a[0] 将等于 1,a[1] 将等于 2,所有其他元素将等于 0。

您可以省略数组的大小。例如

int a[] = { 1, 2, 3, 4, 5 };

在这种情况下,编译器将分配与初始值设定项列表中的初始值设定项一样多的数组元素。

Record(仅在C++中有效。在C中不允许)

int a[5] = {};

相当于

int a[5] = { 0 };

也就是说,数组的所有元素都将初始化为 0。在最后一个记录中,第一个元素显式地初始化为 0,所有其他元素也初始化为 0,因为初始化器列表中的初始化器未指定。

您也可以用同样的方式初始化标量对象。例如

int x = { 10 };

唯一的区别是,对于标量对象,您只能指定一个初始值设定项。您甚至可以不使用赋值运算符来编写

int x { 10 };

你也可以写

int x {};

在这种情况下,x 将被初始化为 0。

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

在变量周围使用大括号 (Brace) C++ 的相关文章

随机推荐

  • SQL Server 2005 如何清除查询执行计划

    各位程序员大家好 我有一个 SQL Server 2005 查询 第一次处理需要很长时间 第一次运行后 查询的运行速度要快得多 从一分钟到一秒 我知道 SQL Server 正在缓存执行计划 这个术语正确吗 我想做的就是明确这个执行计划 以
  • 异常与断言

    Java异常处理和使用异常处理有什么区别assert状况 众所周知 Assert 有两种类型 但我们什么时候应该使用assert关键词 使用断言进行代码中的内部逻辑检查 并使用正常异常来处理直接代码控制之外的错误情况 不要忘记断言可以打开和
  • 如何正确解析由空格分隔的文本文件

    下面是我的示例文本文件 这是我的架构文件 Sample File txt ColNameHeader True Format TabDelimited CharacterSet ANSI 这是我迄今为止编写的用于尝试读取上述示例文件的代码
  • python 是否允许我在运行时将动态变量传递给装饰器?

    我正在尝试在工作中集成一个非常旧的系统和一个较新的系统 我能做的最好的事情就是利用系统使用的 RSS 消防站类型提要 目标是使用此 RSS 源让其他系统在某些人做某事时执行某些操作 我的想法是在某些函数周围封装一个装饰器来检查用户 RSS
  • 如何将 istream_view 收集到容器中?

    我试图为我的扩展实现一个通用的缩减操作c 20 s ranges这将收集任何元素range到给定的容器中 为了实现这一点 我首先创建了一个虚拟类型来提取template template参数并提供operator 用于梳理一个range用它
  • 如何处理 URL 中的转义字符(管道 |)(Spring、REST、CXF)?

    我正在使用 Spring CXF Tomcat 来开发 Web 服务 我在发送 URL 中的管道 等字符时遇到问题 例如 http localhost 9080 address v1 countries 抛出 500 错误 有没有办法处理它
  • Playstore 错误:App Bundle 包含本机代码,并且您尚未上传调试符号

    当我想向 Playstore 发布新的 flutter 应用程序包时 我收到此错误 此应用程序包包含本机代码 并且您尚未上传调试符号 我们建议您上传符号文件 以使崩溃和 ANR 更易于分析和调试 我找不到任何方法来解决这个问题 我是颤振和发
  • 为什么 ObservableCollection 不支持批量更改?

    造成的潜在问题有哪些ObservableCollection支持操作 例如AddRange or RemoveRange 既然 ObservableCollection 如此频繁地与 WPF 一起使用 那么 Microsoft 不提供它们肯
  • 为什么 Perl 不支持双引号中的哈希插值?

    usr bin perl use warnings my hash no1 gt 1 no2 gt 2 print hash Prints no11no22 print hash Prints hash 为什么 Perl 不支持双引号内的哈
  • Dc.js 将范围图应用于多个图表

    过去几周我一直在使用 dc js 但有一个问题我似乎无法解决 我希望能够使用画笔过滤器基于单个图表更改四个不同图表的比例 大致如下 priorityTotChart width 2 w 3 height h 3 margins top 10
  • 检查交叉投射是否可行?

    我知道使用是合法的dynamic cast跨类层次结构进行 交叉转换 例如 如果我有如下所示的类 A B C 如果我有一个A 指向类型对象的指针C 那么我可以使用 A aPtr something that produces a C B b
  • 如何将 Wbmp 转换为 Png?

    在 Google 上花了很多时间研究这个问题后 我找不到在 C 中将 Wbmp 图像转换为 Png 格式的示例 我从互联网上下载了一些 Wbmp 图像 并使用二进制编辑器查看它们 有没有人有一种算法可以帮助我这样做 或者任何代码也会有帮助
  • Python 装饰器保留签名和用户定义的属性

    我有我的简单装饰器my decorator它装饰了my func def my decorator func def wrapper args kwargs return func args kwargs wrapper decorator
  • 在 Google 电子表格中运行脚本时出现权限错误

    我们正在开发一个使用 Google 电子表格作为输入的程序 电子表格的值被读取 处理 结果显示在网页中 当用户注册时 我们使用服务帐户从模板克隆电子表格 该模板有一些我们想要用来帮助用户在电子表格上引入值的脚本 但这些脚本似乎拥有服务帐户的
  • 如何创建类似 App Store 精选页面的布局?

    我是 iOS 开发新手 根据我的假设 App Store 中的功能页面是使用 UITableView 和 UICollectionView 的组合创建的 但在理论上和代码上如何做到这一点呢 我知道这有点模糊 因为很难描述它 但我只是需要一些
  • 如何在VBA中的公式中插入变量

    有人能解决这个问题吗 Sub test Dim i as integer For I 1 to 10 ActiveCell Offset 0 2 Formula Sum E15 i Next I End Sub 你的实际目标不清楚 你可能想
  • Git 日志不显示任何内容

    我有许多 git 存储库 带有提交 每个存储库在运行时都不显示任何内容git log 如果我在项目目录之外运行命令 没有 git 存储库 我会得到 致命 不是 git 存储库 或任何父目录 git 我尝试重新安装 Git 我现在运行的是 1
  • Python模块名称冲突

    我遇到过两个必须使用相同模块名称导入的 Python 模块 例如 import foo 我知道我想要的那个提供了某些功能 例如foo bar 那么有没有一种方法可以循环使用同名的模块 直到找到提供这些功能的模块 或者除了在安装之前重命名模块
  • 大数字的 CSS 字距调整

    我意识到在美国 大量的数字都是用 数以千计之间 所以你会写 1 000 000 00 在南非 是非标准的 可以用作小数点而不是 我们会写 1000000 00读起来很糟糕 典型的解决方案是使用一些空格 1 000 000 00 该解决方案的
  • 在变量周围使用大括号 (Brace) C++

    我正在编程课上学习二维数组 我的老师在没有解释的情况下使用了一些东西 我很好奇我们为什么使用它 由于它与符号有关 我不确定如何谷歌或搜索它 因为这些符号在搜索本身中使用 无论如何 代码是这样的 int small 26 0 large 26