我正在阅读 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 指针,其中包含类型为 uint8
的 SEARCH_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/