我需要在c ++中按地址查找变量的名称。 我不知道我可以使用什么代码? 告诉我如何解决此问题,或者C ++中是否有任何库
答案 0 :(得分:1)
如果您要在运行时通过内存地址查找指定任意变量(类成员或本地变量)名称的字符串,则答案为否:
如果问题是关于更具体的情况-当您的地址与某个已知类型的已知基地址的对象相对应时-是的,可以通过将地址与指向成员的指针进行比较来实现。示例:
struct Foo
{
int Member1;
double Member2;
};
enum class Member
{
Member1,
Member2,
None
};
Member getMember(const Foo* baseAddress, void* address)
{
if (address == &(baseAddress->Member1))
{
return Member::Member1;
}
else if (address == &(baseAddress->Member2))
{
return Member::Member2;
}
else
{
return Member::None;
}
}