0
嗨,我有一個關於指針的問題;指針++,未定義的行爲
char * bf=new char[5];
char* p=bf+5;
p--
是否工作?或者會p--
做出一些未定義的錯誤?由於bf+5
未定義?
謝謝。
嗨,我有一個關於指針的問題;指針++,未定義的行爲
char * bf=new char[5];
char* p=bf+5;
p--
是否工作?或者會p--
做出一些未定義的錯誤?由於bf+5
未定義?
謝謝。
沒有什麼不確定的約
char* bf=new char[5];
char* p=bf+5;
但普將指向離數組的結尾。只要數組沒有被破壞,p--
會將您帶回數組的最後一個元素。
p--
在這種情況下保證指向數組的最後一個元素,沒有UB。
@RaviH:那會證明什麼? –
它會證明是否拋出「一些未定義的錯誤」或不。在不問問stackoverflow之前,如果沒有嘗試或嘗試這麼簡單的事情,學習編程並不是一個好方法。 – RaviH
@RaviH它可能是未定義的行爲,並且程序仍然可以執行而不會產生錯誤。大多數用戶強調,UB可以讓你掉下天空或者爲pluto打開一個蟲洞,但是它也可以靜靜地繼續下去,看起來很成功,直到你嘗試在不同的環境下運行它。 – ApproachingDarknessFish