当前位置:  开发笔记 > 编程语言 > 正文

在运行时获取C++对象名称

如何解决《在运行时获取C++对象名称》经验,为你挑选了2个好方法。

我可以在运行时获取对象的名称(比如通过RTTI获取对象的类型)吗?我希望对象能够打印其名称.

谢谢.



1> jpalecek..:

由于C++中的对象没有任何名称,因此无法获取它们.识别对象的唯一方法是它的地址.

否则,您可以实现命名方案(这意味着对象将具有一些char*std::string成员的名称).您可以使用QObject层次结构在Qt中激发自己,QObject层次结构使用类似的方法.



2> KeithB..:

这是不可能的.对于on thing,对象没有唯一的名称.

A a;
A& ar = a;  // both a and ar refer to the same object

new A;  // the object created doesn't have a name

A* ap = new A[100];  // either all 100 objects share the same name, or need to 
                     // know that they are part of an array.

最好的办法是在对象构造函数中添加一个字符串参数,并在创建时为其命名.


固定.我的咖啡因流中含有太多血液.
推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有