c++ - 我可以使用名称而不是类型来声明对象文字吗?
问题描述
在 JavaScript 中,我将一个对象声明为:
rectangle = {
length: 4,
height: 2
}
在 C++ 中,我这样做
struct Rectangle {
int length;
int height;
};
rectangle = Rectangle {
int {4},
int {2}
}
我认为 C++ 风格不如 JavaScript 风格,因为:
- 类型传达的相关信息少于名称
- 属性不能以任意顺序列出
是否可以以更类似于 JavaScript 的方式声明 C++ 对象?
解决方案
从 C++20 开始,您可以执行以下操作:
auto rectangle = Rectangle{ .length = 4, .height = 2 };
一些编译器已经开始支持这种语法,尽管 C++20 还没有发布。
推荐阅读
- mysql - MySQL/Clickhouse 组合/RANK 选择的结果与一组标签并保持其余的唯一
- node.js - 无法获得在 angular/node.js 中工作的发布路线
- python - 如何使用 JSON 为 Tkinter-Python 设置 UI 布局?
- sql - 如果存在匹配行,则使用非键值更新同一表的行
- reactjs - 如何使用 react-native-camera 人脸检测器检测人脸?
- java - 在 Maven 构建期间从 Markdown 文件生成 PDF 文档
- javascript - 使用 Beautiful Soup 从特定脚本标签中查找嵌套的 JS 对象值
- javascript - 迭代对象键并将内部对象的键放入一个数组
- css - 如何在引导程序中设置其高度和宽度后使图像响应
- javascript - React:回调箭头函数与直接触发器