【问题标题】:Change member identifier of a type during runtime in C++在 C++ 运行时更改类型的成员标识符
【发布时间】: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


【解决方案1】:

不,您不能在 C++ 中在运行时创建成员。

【讨论】:

    猜你喜欢
    • 2011-09-24
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 2020-07-18
    • 1970-01-01
    相关资源
    最近更新 更多