【发布时间】:2020-06-07 16:15:29
【问题描述】:
是否可以在运行时更改用户定义类型的成员的名称/标识符,以便可以进行如下操作。
file.json: "{name: "Peter", nums: [10, 13, 1]}"
JSONDocument d("file.json"); // Parses JSON File
d.name.key = "other_key";
d.other_key = "Alfred";
d.writeToFile("file.json");
file.json: "{other_key: "Alfred", nums: [10, 13, 1]}"
【问题讨论】:
-
我不清楚您将如何使用直到运行时才知道的名称编写代码。
-
标识符在运行时没有意义。计算机不关心诸如标识符之类的愚蠢的人类事物,因此它们在构建过程中被剥离并由地址和地址的偏移量替换。
-
@cigien 你可以在某些语言中做到这一点。例如JavaScript。通过使 everything 可以为空来有效地完成。
-
@AsteroidsWithWings 确实如此。也许我的评论应该包含“in c++”,但我认为这些标签无关紧要。
标签: c++ dynamic member identifier