如何在C++中初始化结构体数组?

2024-04-19

我有以下内容struct在我的 C++ 代码中(我使用的是 Visual Studio 2010):

struct mydata
{
    string scientist;
    double value;
};

我想做的是能够以快速的方式初始化它们,类似于 C99 中的数组初始化或 C# 中的类初始化,一些á la:

mydata data[] = { { scientist = "Archimedes", value = 2.12 }, 
                  { scientist = "Vitruvius", value = 4.49 } } ;

如果这在 C++ 中对于结构数组来说是不可能的,那么我可以对对象数组执行此操作吗?换句话说,数组的基础数据类型并不那么重要,重要的是我有一个数组,而不是一个列表,并且我可以通过这种方式编写初始值设定项。


C++ 中的语法几乎完全相同(只是省略命名参数):

mydata data[] = { { "Archimedes", 2.12 }, 
                  { "Vitruvius", 4.49 } } ;

在 C++03 中,只要数组类型是总计的 https://stackoverflow.com/questions/4178175/what-are-aggregates-and-pods-and-how-why-are-they-special。在 C++11 中,这适用于任何具有适当构造函数的对象。

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

如何在C++中初始化结构体数组? 的相关文章

随机推荐

  • 通过观察ViewModel在RecyclerView中搜索PagedList的LiveData

    使用 android Paging 库 可以很容易地从数据库中分块加载数据 并且 ViewModel 提供自动 UI 更新和数据保存 所有这些框架模块帮助我们在 Android 平台上创建一个出色的应用程序 典型的 Android 应用程序
  • php.ini 中的浮点数范围-0 是浮点数吗?

    当我转换字符串时 0 在 float 中 它返回 float 类型 0 example x 0 y float x 结果 gt 浮动 0 why 0是浮点数吗 IEEE 754 标准是几乎所有计算机语言实现浮点数的标准 它具有 0 and
  • Django管理命令中的动态一行输出

    我有一个 Django 管理命令 它执行大量处理 因此我让它以百分比形式输出进度 我想使用答案中描述的技术here https stackoverflow com questions 5290994 python remove and re
  • MariaDB 10 CentOS 7 移动数据目录的问题

    CentOS 7 和 MariaDB 10 的全新 最小 安装 我有一个额外安装的镜像卷 我想将其用于数据目录 当 my cnf mysqld 被注释掉时 启动顺序正常并正常完成 我已经复制了数据 sudo cp R p var lib m
  • Flutter Firestore 查询中可以使用通配符吗?

    我的目标是从路径 chat chattype room roomID message 流式传输数据库中的所有消息 在该路径中我需要查询文档中包含包含 user1 的字符串的所有消息 而无需查询明确指定房间 ID 似乎无法让它与通配符一起工作
  • 访问数据库的用户列表

    我有一个 MySQL 数据库 由我的一群队友访问 有没有命令可以获取当前正在访问或已经访问并注销的用户的日志信息 从 mysql 工具运行以下命令来查看所有当前正在运行的进程 包括睡眠连接 SHOW PROCESSLIST 或者 您可以查询
  • 使用 JComboBox Java Swing 选择颜色

    我有一个 JComboBox 我想让用户在其中选择颜色 JComboBox 仅显示颜色 没有任何文本 我已经想出了这个解决方案 请告诉我这是否好或应该避免以及为什么 我对 Swing 和 Java 总体来说是新手 所以请耐心等待 publi
  • .gitattributes 中的“* text=auto eol=lf”和“* text eol=lf”有什么区别?

    这与这个问题非常相似 gitattributes 中的 text auto 和 text eol lf 有什么区别 https stackoverflow com questions 46590142 what is the differr
  • 合并(使用挤压)来自另一个分支的所有更改作为单个提交

    在 Git 中 有没有一种方法可以将一个分支的所有更改合并到另一个分支 但同时压缩为单个提交 我经常在单独的分支中开发新功能 并定期提交 推送 主要用于备份或将我正在开发的内容转移到另一台机器上 大多数这些提交都会说 Feature xxx
  • 如何更改datagridview中的行颜色

    我想更改 datagridview 中特定行的颜色 当列单元格 7 的值小于列单元格 10 的值时 该行应更改为红色 关于如何实现此目的有什么建议吗 您需要循环遍历 datagridview 中的行 然后比较每行上第 7 列和第 10 列的
  • Angular2 可观察定时器条件

    我有一个计时器 initiateTimer if this timerSub this destroyTimer let timer TimerObservable create 0 1000 this timerSub timer sub
  • 如何解决 WPF 中的“绑定表达式路径错误”?

    我将模型对象的可观察集合绑定到数据网格 但是当我将绑定设置到集合时 我收到了指向人员的路径错误 在调试此问题时 我检查了 CustomerModel 中的公共属性在 DataGrid 绑定中是否正确命名 而且返回到模型的集合不为空 我还检查
  • 为什么使用window.onload

    我尝试自己找到这个问题的答案 但只找到了有关如何使用 onload 事件的说明 我似乎没有抓住要点 我被告知 如果我希望在页面加载时发生某些事情 我应该像这样使用 window onload 但现在我自己思考 我想知道这样做的意义是什么 因
  • 将 forMine 设置为 false 进行搜索时,youtube v3 api 错误

    我正在编写一些函数Youtube API version 3 我在用python但在谷歌提供的测试控制台中确认了我的错误 我正在提出所有授权请求 只是没有在下面粘贴我的密钥 Python 客户端库自动添加forMine参数给我的Search
  • 如何在不暂存的情况下 git 添加新文件?

    为了有效地 并按预期 使用 git 我进行了小的原子提交 而我确实有更长的会话 我所做的不仅仅是一件事 因此 我大量使用git add p 不过 这不适用于全新的文件 因为我以后往往会忘记它们 我想做的是告诉git那里is一个新文件 我希望
  • 我在哪里可以学习编写词法分析器的基础知识?

    我想学习如何编写词法分析器 我的大学课程有一项作业 我们必须编写一个解析器 以及与之配套的词法分析器 但这是给我们的 没有任何指导或反馈 超出了标准 所以我并没有真正从中学到很多东西 搜索这个主题后 我只能找到相当高级的文章 这些文章重点关
  • 如何通过 UNC 加速 Powershell Get-Childitem

    DIR or GCI在 Powershell 中很慢 但在 CMD 中很快 有什么办法可以加快这个速度吗 在 CMD exe 中 经过亚秒级延迟后 其响应速度与 CMD 窗口可以跟上的速度一样快 dir remote server doma
  • OpenJPA 的 Maven 原型

    问候 我刚刚开始探索 Maven 我使用 m2eclipse 就像在 Eclipse 中使用 Maven 一样 我发现有一个基于休眠的原型 组 ID com rfc maven archetypes 和 工件 ID jpa maven ar
  • 使用矩形在图像上创建搜索区域

    我有一个显示图像的图像查看器 我想使用鼠标在图像上绘制一个矩形 并获取矩形的 x 和 y 坐标 X1 X2 Y1 和 Y2 我将使用这些坐标创建一个搜索区域 并在数组中查找最大值和最小值 该数组的两个轴上的像素数与图像的像素数完全相同 有人
  • 如何在C++中初始化结构体数组?

    我有以下内容struct在我的 C 代码中 我使用的是 Visual Studio 2010 struct mydata string scientist double value 我想做的是能够以快速的方式初始化它们 类似于 C99 中的