C++分配一个变量指针地址
C++ assign a variable pointer address
我想要接收一个DWORD类型的变量,该变量将包含地址指针float*
如果我写这个:
float *Object = 5;
std::cout << &Object;
它正好给了我想要的值(即:0F235C1A
)。你能告诉我如何将这个值分配给DWORD以便在我的内存写入函数中使用吗
尝试:
DWORD ObjAddress = &Object;
我得到编译器错误:cannot convert from 'float *' to 'DWORD'
我不理解您的对象定义:
float *Object = 5;
5应该是一个地址吗?价值?
请参阅以下代码,也许这正是您想要的。
float Object = 5;
int ObjAddress = (int)&Object;
cout << "object adr1: "<< hex << &Object << endl;
cout << "object adr2: "<< hex << ObjAddress << endl;
输出
object adr1: 0x28ff08
object adr2: 28ff08
或者当你真的需要对象作为指针时
float value = 5;
float *Object = &value;
int ObjAddress = (int)&Object;
cout << "object adr1: "<< hex << &Object << endl;
您只需要强制转换&Object;
DWORD ObjAddress = (DWORD)&Object;
我认为这会解决你的问题。
我认为您可以像这样使用repret_cast(用DWORD替换无符号长)
#include <iostream>
int main(void)
{
float *object = new float;
*object = 5;
unsigned long objAddress = reinterpret_cast<unsigned long>(&object);
std::cout<<objAddress<<std::endl;
return 0;
}
相关文章:
- 用C++中的一个变量定义一个常量
- 一个变量的输入值也会保存到另一个变量中
- 将双精度变量设置为另一个变量的值
- 对具有相同方法的不同类使用一个变量
- 为什么一个变量获得与另一个值相同的值
- 尝试在 C++ 中为 ifstream 提供一个变量
- 类中的一个变量显示,但另一个不显示
- 声明一个变量,该变量在 c++ 或 c 中具有值,当程序终止时不会被销毁
- c++问题:给一个变量赋值后,另一个变量发生了变化
- 如何将一个变量用于父类和派生类
- 如何在循环中使用scanf,将值存储到一个变量中,然后打印出来?
- 我如何将一个变量与另一个变量进行比较,例如我想如果(var1 > var2 x 1),然后执行此 c++
- 如何在一个函数中定义一个变量,并在另一个函数中访问和更改它?(C++)
- 如果一个变量在它之前释放了另一个(相同的数据类型)变量,如何将其分配给内存?
- 迭代器或反向器的一个变量
- fstream库,试图创建一个变量名为(c++)的文件
- 如何在 c++ 中将两个不同类型的变量分配给一个变量
- 如何将一些变量放在一个变量中?
- 将 int 转换为字符串,然后连接另一个变量以创建完整扩展名,然后将其转换为 const_char*
- 如何用索引命名一个变量来存储输入 mxArray?