首页 > 解决方案 > 我可以使用名称而不是类型来声明对象文字吗?

问题描述

在 JavaScript 中,我将一个对象声明为:

rectangle = {
    length: 4,
    height: 2
}

在 C++ 中,我这样做

struct Rectangle {
    int length;
    int height;
};

rectangle = Rectangle {
    int {4},
    int {2}
}

我认为 C++ 风格不如 JavaScript 风格,因为:

是否可以以更类似于 JavaScript 的方式声明 C++ 对象?

标签: c++

解决方案


从 C++20 开始,您可以执行以下操作:

auto rectangle = Rectangle{ .length = 4, .height = 2 };

一些编译器已经开始支持这种语法,尽管 C++20 还没有发布。


推荐阅读