gpt4 book ai didi

c++ - "Const"在 C++ 中还做了什么,然后告诉编译器特定的东西是只读的

转载 作者:太空狗 更新时间:2023-10-29 19:51:26 25 4
gpt4 key购买 nike

好吧,我没有意识到 const 可能和指针一样令人困惑。有人可以按步骤解释以下代码在 const 方面究竟做了什么吗?

const int*const Method3(const int*const&)const;

即使对于非新手程序员来说也是如此令人困惑。

最佳答案

这可能会造成混淆,因为它将两种风格的 const 混合在一起。

const int*const Method3(const int*const&)const;

我将对它们重新排序,因为在我看来,理解它们的最佳方式是倒着读。

让我们从返回类型开始:

const int*const -> int const* const

通过向后读取它,我们得到:const 指向 const int 的指针。

同理,对于函数参数:

const int* const& -> int const* const&

通过向后阅读,我们得到:对 const 的引用指向 const int

该函数也被标记为 const,这意味着它是一个成员函数,例如,当对该类的引用为常量时可以调用它。

对于可能的 const 优化和进一步理解,请参阅以下答案:

关于c++ - "Const"在 C++ 中还做了什么,然后告诉编译器特定的东西是只读的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44247062/

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