Zyy*_*ins 5 c++ memory pointers memory-address dereference
我想知道是否有可能做这样的事情:
unsigned int address = 0x0001FBDC; // Random address :P
int value = *address; // Dereference of address
Run Code Online (Sandbox Code Playgroud)
意思是,是否可以在内存中获取特定地址的值?
谢谢
Ker*_* SB 16
你可以而且应该这样写:
#include <cstdint>
uintptr_t p = 0x0001FBDC;
int value = *reinterpret_cast<int *>(p);
Run Code Online (Sandbox Code Playgroud)
请注意,除非有一些保证p指向整数,否则这是未定义的行为.如果您尝试访问不希望您解决的地址,标准操作系统将终止您的进程.但是,这可能是独立计划中的常见模式.
(早期版本的C++应该说#include <stdint.h>和intptr_t.)
| 归档时间: |
|
| 查看次数: |
25890 次 |
| 最近记录: |