2016-04-22 41 views
-4

我正在讀一本C++代碼,我遇到了這個問題,我不知道是什麼意思:C++參考複雜性讓我迷惑

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

有人可以解釋一下嗎?

+0

你必須清楚地說明你想問什麼。 – Tejendra

+0

親愛的@Tejendra 我想知道它的含義: (uint8(*)[SEARCH_RANGE]) – pooria

+1

@pooria它是一個指針,指向一個數組,其類型爲'uint8',大小爲'SEARCH_RANGE'。 – songyuanyao

回答

4
uint8 (*const flag_search)[SEARCH_RANGE] 

flag_search是指向一個陣列,其中包含SEARCH_RANGE元件與uint8類型一個const指針。

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

&_flag_search[MAX_MOTION][MAX_MOTION]將採取的_flag_search[MAX_MOTION][MAX_MOTION]地址,並且將其轉換爲uint8 (*)[SEARCH_RANGE],這是一個非const指針指向的數組,其中包含SEARCH_RANGE元件與uint8類型。

+0

你應該補充一點,'MAX_MOTION'在這個上下文被用作數組索引,而不是數組大小。 – user694733

+0

@ user694733我想op應該知道它...... – songyuanyao

+0

所以你告訴我有一些指針指向這個數組? – pooria