C++ 等同于 JavaScript 对象?

问题描述

假设我有一个在 JavaScript 中看起来像这样的对象:

JavaScript

let someObject = {
    dataType: 'char',// string
    character: 'c',// char
    pos: {
        line: 1,// unsigned int
        col:  1    // unsigned int
    }
}

我想用 C++ 重新创建它,我该怎么做?

解决方法

在 C++ 中,要创建自定义对象,您可以使用 classes、structs 和 unions(尽管 unions 是一个更高级的主题)。

class 是用户定义的类型,其中默认访问修饰符是 private

structclass,但默认访问修饰符是 public

union 是一个更高级的主题,如果您愿意,可以研究它。

对于你的情况,你会翻译这个:

let someObject = {
    dataType: 'char',// string
    character: 'c',// char
    pos: {
        line: 1,// unsigned int
        col:  1    // unsigned int
    }
}

进入这个:

class someObject {
    std::string str = "char";
    char ch = 'c';

    unsigned int line = 1;
    unsigned int column =  1;
};

如果您愿意,您可以为您的 pos 创建一个子类“int”。

您可以尝试很多教程。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...