c – 如何使用“auto”获取顶级const指针?

c – 如何使用“auto”获取顶级const指针?,第1张

概述简而言之: Per C Primer,第69页,“自动”: “如果我们希望推导出的类型具有顶级const,我们必须明确说出来”. 我会得到一个顶级const指针: int i = 42;const auto *p = &i; 但是结果p的类型为const int *而不是期望的int * const.我甚至可以重新分配它p = 0;.为什么? (注意:使用auto *的指针类型扣除的格式来自书中 简而言之:

Per C Primer,第69页,“自动”:
“如果我们希望推导出的类型具有顶级const,我们必须明确说出来”.

我会得到一个顶级const指针:

int i = 42;const auto *p = &i;

但是结果p的类型为const int *而不是期望的int * const.我甚至可以重新分配它p = 0;.为什么?
(注意:使用auto *的指针类型扣除的格式来自书中.)

@R_502_6120@@H_502_24@ 在您的示例中,p是指向const int的指针,而不是指向int的const指针.后者可以通过以下声明实现:

auto* const p = &i;
总结

以上是内存溢出为你收集整理的c – 如何使用“auto”获取顶级const指针?全部内容,希望文章能够帮你解决c – 如何使用“auto”获取顶级const指针?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1223821.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存