我想知道C和C++中的指針 - 它如何幫助節省內存?我搜查了但沒有得到滿意的答案。請幫助我。C/C++指針幫助
2
A
回答
4
如果比較的代碼下面兩段:
foo() {
large_struct x;
bar(x);
}
bar(large_struct x) {
//do some funny things
}
和
foo() {
large_struct* x;
bar(x);
}
bar(large_struct* x) {
//do some funny things
}
在第一片,大結構x被在存儲器中複製,而在第二代碼段只是一個指針被複制到內存中。這是點,當你可以用指針節省內存。
2
不確定你究竟在做什麼,但是......存儲指針比存儲它指向的對象的整個副本的內存少。
1
除了其他人所說的,指針是必要的動態內存分配(這也適用於更高級別的語言,但是(通常)被抽象掉)。這意味着如果沒有指針,你只能使用(通常相當小的)堆棧內存,這更需要保護。
0
指針基本上用於指向內存中的位置。指針的類型指的是它指向的內存類型(通常),例如:一個char *(字符指針指向一個內含字符的內存),這個指針的「類型」也與它有很大關係指針運算,例如:如果將一個整數添加到指針名稱中,地址將會產生多少跳轉字節。
在C++中,您可以使用new運算符在運行時聲明系統內存。這種類型的內存稱爲動態內存,應該明確刪除。指針表示法用於指向使用「new」運算符分配的此類內存。例如:
char * a = new char;
或
char * a = new char[10]
這種存儲器必須使用刪除關鍵字 例如被刪除或返回到該系統:
delete a;
或
delete [] a;
它是se作爲一名來自我們的C++程序員的實踐,他們傾向於忘記刪除這種聲稱的內存,因此託管語言應運而生。最受歡迎的是Java,C#和託管C++(C++ CLI)。 (看來,我可以寫一篇關於什麼指針的完整篇文章,但我試圖指出你的問題)。
我希望你能滿意我的答案。 我希望這可以幫助
相關問題
- 1. 指針幫助C++
- 2. C++指針幫助
- 3. C++指針幫助?
- 4. 幫助空指針異常
- 5. C - 幫助理解指針
- 6. 指針算術幫助
- 7. seg故障/指針幫助
- 8. C++鏈表幫助(指針)?
- 9. 可可指針幫助
- 10. Projection.toPixels空指針...幫助?
- 11. 幫助CC處理腳本
- 12. 指針幫助,指向對象的指針和類
- 13. BST中的指針幫助C++
- 14. 在指針中需要一些幫助
- 15. 空指針錯誤的幫助?
- 16. 幫助第一個C++類/指針
- 17. C++概念的幫助,指針
- 18. 不熟悉C++指針,需要幫助
- 19. 二維陣列洗牌指針幫助
- 20. 幫助 - 在Python函數指針
- 21. javascript參考指針幫助/釋
- 22. C++指針數組初始化幫助
- 23. 需要幫助瞭解指針語義
- 24. C++幫助在類中設置指針
- 25. 智能指針會幫助我嗎?
- 26. 需要幫助惠特c + +指針
- 27. FFmpeg命令幫助和文檔指針
- 28. 的C指針的幫助:數組/指針等價
- 29. 幫助鑄造指向工會的指針
- 30. UIActivityview指標幫助?
請問您是否可以重新提出您的問題 - 因爲它使我感到害怕或沒有意義。 – 2010-07-10 15:27:53
指針不存在以節省內存。他們讓語言更具表現力,所以你可以做一些本來不可能的事情。 – jalf 2010-07-10 15:56:16
我想知道我車裏的方向盤。它如何幫助節省燃氣?我搜查了但我沒有得到滿意的答案。請幫助我。 – 2010-07-10 15:57:29