2009-12-01 82 views
21

的內容是否可以看到一個動態分配的數組的內容,如在:Eclipse的C++ - 調試:看到陣列

int *array = new int[dimension]; 

我只看到指針的值。

編輯:剛發現選項「顯示爲數組」,但我總是需要手動輸入數組的大小。是否有可能實現自動化?

回答

35

在Eclipse中,看到一個動態分配的數組(爲別人跨越這個問題絆倒)的內容,

  1. 確保您在調試的角度。尋找「變量」窗口。如果你沒有看到它,點擊「窗口」>「顯示視圖」>「變量」。
  2. 陣列上右擊變量
  3. 點擊顯示爲陣列
  4. Eclipse不知道你的陣列有多大,所以一開始的索引,而動態分配的長度元素的個數0類型。

choose display as array in eclipse

3

剛剛找到「顯示爲數組」的選項,但我總是需要手動輸入數組的大小。是否有可能實現自動化?

這很好。我會堅持下去。在C或C++中一般情況下不可能自動獲取數組,但儘管在一些微不足道的情況下它可以完成(但可能還不是 - 功能需要在它們存在之前執行,以便解釋Raymond Chen)。

8

如果你想避免重複辦「顯示爲陣」,打開「表達式」選項卡,並添加表達(*[email protected])。不知道爲什麼括號是必要的。沒有他們,你會得到一個錯誤。

5

在「表達式」選項卡中,如果執行cleong註釋並鍵入(*[email protected]),則還可以動態設置要顯示的數組大小。當你需要另一個表達式來獲得它時,這甚至可以工作。

所以假設你有一個變量x包含你的數組大小,你輸入(*[email protected]),它會使用x的內容作爲一個維度。

「X」,也可以是一些類似結構的內容或指針引用和類似 - 即

(*[email protected]>x) 

的作品就好了。