我是 C++ 的初学者。我正在做这个需要跟踪内存地址的项目。不幸的是,这个跟踪函数有以下原型声明:
void TRC(uint8_t, uint8_t, uint8_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, const char*)
现在可供我使用的选项是:
将此内存地址(指针值)转换为
uint64_t
类型。但是我在某处读到不推荐这样做,因为引用运算符返回的指针值取决于平台,并且将指针转换为整数可能会返回错误值。将此内存地址转换为字符串并通过最后一个参数传递。在 Python 中,这很容易,因为我们有
str()
函数。我们在 C++ 中也有类似的东西吗?
如果我在这里的方法/理解中有错误,请告诉我。