-1
我碰到這個代碼來我不知道它在做什麼C++字面後面的支架
// ptr is a pointer to an int
if (2[ptr] == 5){
// do something
}
我做了一些我的測試,但無論我傳遞到PTR什麼樣的價值,0,底片,正片,2[ptr]
總是評估爲0.我很驚訝它實際編譯。有人能解釋這個表達是什麼嗎?
我碰到這個代碼來我不知道它在做什麼C++字面後面的支架
// ptr is a pointer to an int
if (2[ptr] == 5){
// do something
}
我做了一些我的測試,但無論我傳遞到PTR什麼樣的價值,0,底片,正片,2[ptr]
總是評估爲0.我很驚訝它實際編譯。有人能解釋這個表達是什麼嗎?
2[ptr]
與ptr[2]
(或多或少)相同。有人對你開玩笑。至於爲什麼它總是評估爲0,那取決於程序的其餘部分,這是我們看不到的。
你在哪裏「碰到」這個代碼?誰寫的?你爲什麼不問他們做了什麼,爲什麼? –
使用該語法編寫代碼的人不應該被允許將代碼傳遞給代碼庫:) – CoryKramer
'2 [ptr]'被評估爲'*(ptr + 2)' – Arash