Q
理解指針C++
0
A
回答
5
4
Animal *p;
創建一個指針,Animal b;
創建一個動物。
1
一個新對象在堆棧上時,就產生該方法時和消失時該方法返回。如果從方法中返回該值並嘗試使用它,將會導致應用程序崩潰,因爲堆棧內存將作爲從該方法返回的一部分被釋放。
9
在聲明指針[和聲明是一個定義],空間僅分配給一個指針,沒有創建Animal
對象。
如果您不初始化指針,除了將其指向有效的Animal
對象或將其指定給特殊的「空指針值」以指示指針不指向在一個有效的對象。你甚至不能測試它是否實際上指向一個有效的Animal
對象。
它始終是最好初始化指針或者爲空或有效的對象,只要你創建他們,所以我會建議之一:
Animal* p = 0; // or = NULL
Animal u;
p = &u;
或更好:
Animal u;
Animal* p = &u;
0
// create a pointer to an animal object and initialize it to NULL
//Animal* p; // Bad! Do not do this
Animal* pA = NULL; // Much better
Animal a; // creates an Animal object on the stack (local scope)
Animal pA = &a; // sets pA to point to the location of a
現在,當a
超出範圍,pA
仍將指向該內存位置。如果你嘗試訪問它,壞的事情可能(並且將會)發生。
相關問題
- 1. 理解C:遞增指針
- 2. C - 幫助理解指針
- 3. Obj C - 理解指針
- 4. 理解指針
- 5. 理解指針
- 6. 理解指針(指值)
- 7. 理解C中字符串的指針
- 8. 無法理解c中的空指針
- 9. 理解指針(在C):將INT字符指針和改變值
- 10. C++指針解釋
- 11. C++指針處理
- 12. 向理解空指針
- 13. 理解指針運算
- 14. 瞭解c函數指針
- 15. c函數指針解釋
- 16. C++:瞭解「this」指針
- 17. c瞭解結構指針
- 18. 解釋c指針參數
- 19. 指針vs指針指針C
- 20. C指針指針問題
- 21. C++矢量指針指針
- 22. C指針指針數組
- 23. Memoryleak指針指針,C++
- 24. 指針值C空指針
- 25. 處理refrence的指針/使用SWIG [C++到Java]雙指針
- 26. 如何理解函數中的指針
- 27. 理解教程指針的問題
- 28. 理解函數參數中的指針
- 29. KD樹 - 難以理解的指針
- 30. 試圖更好地理解指針
只有當你寫的第二條線。 – 2011-01-06 18:18:14