gpt4 book ai didi

c++ - 指针到指针到 Const 的转换

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:56:26 24 4
gpt4 key购买 nike

我正在读一本名为 C++ Gotchas 的书这解释了 const 指针之间的转换,我在理解以下规则时遇到了一些麻烦:

Two pointer types T1 and T2 are similar if there exists a type T and integer n > 0 such that:

T1 is cv 1 , 0 pointer to cv 1,1 pointer to . . . cv 1,n−1 pointer to cv 1,n T

and,

T2 is cv 2,0 pointer to cv 2,1 pointer to . . . cv 2,n−1 pointer to cv 2,n T

where each cvi,j is const, volatile, const volatile, or nothing.

谁能给我指出正确的方向,让我得到解释,或者有人熟悉什么是 cv 1,0cv 1,1 表示在上述每个序列中?这本书不足以帮助我理解它。但我确信这与 C++ 语言有关。

最佳答案

cv i,j表示 2*(n+1) 个占位符的集合:

对于 i 的每个组合与 1 <= i <= 2j0 <= j <= n占位符 cv i,j代表三个说明符之一 const,volatile, const volatlie或者什么都没有。

换句话说,这本书的摘录意味着,如果这些占位符和类型 T可以找到满足两个语句(“T1 is ..”),则 T1T2被称为“相似”。

例如T1 = const int*T2 = int*是相似的,因为它们满足摘录中的两个陈述,如果选择:

  • T = int , n = 1
  • cv1,0= {nothing}cv1,1 = const
  • cv2,0={nothing}cv2,1 = {nothing}

要看到这个,只需插入占位符:

const int*是指向 const int 的指针

int*是指向 int 的指针

关于c++ - 指针到指针到 Const 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8585402/

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