gpt4 book ai didi

c++ - C++ 获取指针指向的变量名称

转载 作者:行者123 更新时间:2023-12-03 12:50:31 29 4
gpt4 key购买 nike

我正在使用指向 double 变量的指针来修改其值进行调试。我想在每次更改它指向的变量时打印指针指向的变量名称。这可以通过对每个变量进行编码来实现,但是变量有几十个,并且需要花费大量时间。我发现这样here at cplusplus.com (第二个回复):

#define SHOW(a) std::cout << #a << ": " << (a) << std::endl

但它只打印指针的名称,而不打印它指向的变量。

我使用键盘不断修改数值。无法使用调试器。

最佳答案

你可以有一些全局字符串来获取当前指针的名称。然后使用一些宏来对内存地址和名称进行分配。

示例:

#include <iostream>

std::string str;
#define pointTo(x,y) do{ str = #y; x=&y; }while(0)

int main()
{

int* x , hiThere ,helloWorld;
pointTo(x,hiThere);
std::cout<<str<<"\n";
pointTo(x,helloWorld);
std::cout<<str<<"\n";
}

工作示例:http://coliru.stacked-crooked.com/a/aaf2ba8ce791d591

虽然它有效,但我强烈建议你放弃这个想法。请改用调试器。

关于c++ - C++ 获取指针指向的变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31367094/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com