常量指针转换

Posted

技术标签:

【中文标题】常量指针转换【英文标题】:Const pointer conversions 【发布时间】:2011-12-12 01:51:56 【问题描述】:

有人能解释一下这里发生了什么吗?这里使用了什么样的数学逻辑?

(4.4/4) 转换可以在除 首先在多级指针中,遵守以下规则:51) 两个 如果存在类型 T 和指针类型 T1 和 T2 是相似的 整数 n > 0 使得: T 1 是 cv 1 , 0 指向 cv 1 的指针, 1 指针 到 。 . . cv 1 ,n - 1 指向 cv 1 ,n T 和 T 2 的指针是 cv 2 , 0 指针 到 cv 2 , 1 指向 . . . cv 2 ,n - 1 指向 cv 2 ,n T 的指针 每个 cv i, j 都是 const、volatile、const volatile 或什么都没有。这 指针类型中第一个之后的 cv 限定符的 n 元组,例如 cv 1 , 1 , 简历 1 , 2 , . . . , cv 1 ,n 在指针类型 T1 中称为 指针类型的 cv 限定签名。类型的表达 当且仅当满足以下条件时,T 1 才能转换为类型 T 2 条件满足:——指针类型相似。 - 为了 每 j > 0,如果 const 在 cv 1 中,j 则 const 在 cv 2 中,j 和 同样对于易失性。 — 如果 cv 1 , j 和 cv 2 , j 不同, 然后 const 在每个 cv 2 ,k for 0

【问题讨论】:

在这个(更具体的)问题中的问题说明:Why is the conversion from char*** to charconst* invalid? 【参考方案1】:

我不会真的称它为数学逻辑。这是(IMO)类型理论和类型推断的一个很好的例子。对于一般概述,wikipedia 是您的朋友。

【讨论】:

我不确定我是否理解您的问题。

以上是关于常量指针转换的主要内容,如果未能解决你的问题,请参考以下文章

指针常量&常量指针&指向常量的指针常量

常量指针指针常量指向常量的指针常量 的区别(转帖)

指针常量常量指针和指向常量的常量指针

指针和引用指针常量与常量指针

指针常量常量指针常指针常量

指针常量常量指针常指针常量