gpt4 book ai didi

c++ - const对象的地址,被解释为低级const

转载 作者:行者123 更新时间:2023-12-02 10:29:38 25 4
gpt4 key购买 nike

在C++ Primer(第5版)中,我找到了一个对我来说没有多大意义的示例:

const int i = /*some integer literal*/;

auto e = &i;
对我来说 &i代表 const int i的地址-因此该地址本身不是(低/高级别)const,因此 e应该解释为 int *
但是这本书将 e解释为 const int *说明 (const对象的&为低级const)的原因-有人可以澄清我的理解有什么问题。

最佳答案

您使用auto为e分配了一个地址,因此e是一个指针。
const适用于int,e指向const int,但e不是const指针。
如果e是不是const指针,则e是顶级const,而e是非const指针(即,您可以将其他地址分配给e),它指向const int。
因此e是一个低级const

int i = /*some integer literal*/;

const auto e = &i;
现在, e是指向非const int的const指针。由于对象本身 e是const,因此这是顶级const

关于c++ - const对象的地址,被解释为低级const,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62858483/

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