亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

何時在C+中使用新關鍵字?

何時在C+中使用新關鍵字?

C++
qq_遁去的一_1 2019-06-27 16:14:05
何時在C+中使用新關鍵字?我使用C+已經有一段時間了,我一直在想新的關鍵詞。簡單地說,我是否應該使用它?1)新的關鍵詞.。MyClass* myClass = new MyClass();myClass->MyField = "Hello world!";2)沒有新的關鍵詞.。MyClass myClass;myClass.MyField = "Hello world!";從實現的角度來看,它們看起來并沒有什么不同(但我確信它們是不同的).然而,我的主要語言是C#,當然第一種方法是我所習慣的。困難似乎是方法1更難用于STD C+類。我應該用哪種方法?更新1:我最近用了新的關鍵字用于堆記憶(或免費商店)用于超出作用域的大型數組(即從函數返回)。在我使用堆棧之前,它導致一半的元素在作用域之外被破壞,切換到堆使用可以確保元素是有技巧的。耶!更新2:我的一位朋友最近告訴我,使用new關鍵字;每次鍵入new、類型delete.Foobar *foobar = new Foobar();delete foobar; // TODO: Move this to the right place.這有助于防止內存泄漏,因為您總是必須將刪除放在某個地方(即,當您剪切并粘貼到析構函數或其他地方時)。
查看完整描述

3 回答

?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

我應該用哪種方法?

這幾乎不是由鍵入首選項決定的,而是由上下文決定的。如果需要將對象保存在幾個堆棧之間,或者對于堆棧來說太重,則可以將其分配到免費存儲中。此外,由于您正在分配一個對象,您也負責釋放內存。查找delete接線員。

為了減輕使用免費商店管理的負擔,人們發明了這樣的東西auto_ptrunique_ptr..我強烈建議你看看這些。它們甚至可能對您的打字問題有所幫助;-)


查看完整回答
反對 回復 2019-06-27
  • 3 回答
  • 0 關注
  • 319 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號