在Objective-C中,您可以向返回字符串的类添加一个名为-debugDescription的方法。 XCode调试器将调用此方法以在调试器中显示类的值。在C ++中是否有相同的东西?
答案 0 :(得分:1)
否(不具备普通语言提供的功能)。与Objective-C的NSObject
(或NSProxy
)相比,C ++没有所谓的根对象。对于这样的metainfo / introspection / reflection,您必须使用Qt等库或其他支持此类功能的库。
答案 1 :(得分:0)
虽然不那么通用,但您可以将自己的描述方法添加到某些感兴趣的类中,并在运行时从控制台po
添加该方法。
例如
std::string your_class::desc()
{
return "test";
}
(lldb) po ((your_class*)0x000000010072adf8)->desc()
"test"