C++ 引用复杂性让我很困惑

标签 c++ c

我正在阅读 C++ 代码,遇到了这个问题,但我不知道这意味着什么:

uint8 (*const flag_search)[SEARCH_RANGE]=
(uint8 (*)[SEARCH_RANGE])&_flag_search[MAX_MOTION][MAX_MOTION];

有人可以帮我解释一下吗?

最佳答案

uint8 (*const flag_search)[SEARCH_RANGE]

flag_search 是一个指向数组的 const 指针,其中包含类型为 uint8SEARCH_RANGE 元素。

(uint8 (*)[SEARCH_RANGE])&_flag_search[MAX_MOTION][MAX_MOTION]

&_flag_search[MAX_MOTION][MAX_MOTION] 将获取 _flag_search[MAX_MOTION][MAX_MOTION] 的地址,并将其转换为 uint8 (*)[SEARCH_RANGE ],这是一个指向数组的非常量指针,该数组包含 SEARCH_RANGE 类型为 uint8 的元素。

关于C++ 引用复杂性让我很困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36790962/

相关文章:

c - 子进程写完 FIFO 后,父进程如何读取 FIFO?

c++ - 读取 mex 文件中的结构数据时发生奇怪的事情

c++ - sqlite 准备语句 - 如何调试

c++ - 二维可变大小数组 C++

c++ - 程序在调用 Wincrypt 函数时挂起

c++ - 使用 {0}、{0、} 进行数组初始化?

c - 具有可变成员大小的结构

c++ - 如何定义 "Do-Nothing"排序?

c - 将合并操作的结果直接复制到辅助数组时,合并排序不起作用

java - D 是 Java 和 C++ 的可靠替代品吗?