gpt4 book ai didi

c++ - 你能取消引用整数文字吗?

转载 作者:行者123 更新时间:2023-11-30 01:44:11 24 4
gpt4 key购买 nike

是否可以使用,例如:

int x = *776

从特定内存位置获取值?或者你绝对必须使用:

int ref = 776;
int x = *ref;

最佳答案

当然,内存地址可以用某些整型字面量表示,比如

int* ptr = reinterpret_cast<int*>(776);

并将它们取消引用为

int value = *ptr;

是合法的。也是如此

int value = *reinterpret_cast<int*>(776);

如果你真的可以访问这个硬编码的内存地址完全取决于你的目标环境。

在大多数情况下,操作系统会阻止您访问任意内存地址,并以 SEGFAULT 或类似的方式退出。


Or do you absolutely have to use:

int ref = 776;
int x = *ref;

你不能使用那个代码,那是完全荒谬的,不会编译。

你的意思可能是

int* ref = reinterpret_cast<int*>(776);
int x = *ref;

如上所述

int x = *reinterpret_cast<int*>(776);

也是合法的。

关于c++ - 你能取消引用整数文字吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36584553/

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