给一个类

struct {
  int a1;
  bool a2;
  ...
  char* a500;
  ...
  char a10000;
}

我想打印或流出
"a1 value is SOME_VALUE"
"a2 value is SOME_VALUE"
"a500 value is SOME_VALUE"
...
"a10000 value is SOME_VALUE"

成员变量的类型不相同(主要是int,bool,char *等,即不需要重载<
感谢您的任何评论!

最佳答案

您要查找的功能通常称为reflection。它不是C++的一部分,因为在编译语言中,您所追求的信息(人类可读的变量名)通常不会由编译器保留。不需要运行代码,因此没有必要包含代码。

调试器通常可以为此目的检查带外符号信息或二进制文件中保留的符号数据,以显示此类名称,但为此进行重新操作可能比它值得的工作更多。

我建议您从许多“技巧”(=解决方案)中寻找一些以自己实现。

07-24 09:44
查看更多