C 程式設計的一些思想

2021-06-08 20:41:47 字數 615 閱讀 1783

看完c++primer後,了解了c++的語法,但我想往思想,設計方面深究,所以我選擇了看c++程式設計思想。以下是第一章中我記下的筆記。

•oop:物件導向的程式設計

•重用乙個類最簡單的方法就是直接使用這個類的物件,並且還可以講這個類的物件放到乙個新類的裡面。可以用任何數量和型別的其他物件組成新類, 通過組合得到新類所希望的功能——組合。

•如果能選取已存在的類,轉殖它,然後對這個轉殖增加和修改,則是再好不過的事,這是繼承帶來的好處,缺點是,如果原來的類被修改,則派生類也會表現出這些改變。

•有兩種方法能使派生類區別於原始基類,一是向派生類新增全新的函式,另一種是過載這個函式。

•在非oop編譯器產生的函式呼叫時為要執行**的絕對位址,而oop中當給物件傳送資訊時,在程式執行時才會確定被呼叫的**。

•為了最大化執行速度,通過將物件存放在棧中或靜態儲存區域中,儲存和生命期可以再編寫程式時確定。第二種方法是在成為堆的區域動態建立物件。直接使用new關鍵字讓它在堆上生成,用delete釋放。

•如果在棧上或在靜態儲存上建立乙個物件,編譯器決定這個物件持續多長時間並能自動銷毀它。然而,如果在堆上建立它,編譯器則不知道它的生命期。

我們不可能第一次就使軟體正確,所以應該為學習,返工和修改留有餘地。

Meet in the middle思想的一些應用

meet in the middle 有時候也叫作split and merge 是一種用以獲取足夠高效解決方案的靈巧的思想。和分治思想非常類似,它將問題分割成兩個部分,然後試著合併這兩個子問題的結果。好處在於通過使用一點額外的空間,你可以解決兩倍規模的原來可以解決的問題。4和問題 流行的面試問題 ...

演算法的一些思想

目錄 0.總1.乘除法慢與加減法 2.窮舉演算法思想 3.遞推演算法思想 4.遞迴演算法思想 5.分治演算法思想 6.概率演算法思想 7.貪心演算法思想並不貪婪 追求最優求解,但不一定是能找到最優解 8.試探法演算法思想是一種委婉的做法 也叫回溯法 9.迭代演算法 輾轉法 10.動態規劃 五種基本演...

C 程式設計的一些原則

1.不能在容器中使用auto ptr,要用boost的share ptr。具體原因可以查auto ptr的特性。2.別用vector。3.如果將派生類直接賦值給基類,派生類獨有的資訊將丟失。因此這種情況,最好用指標,將派生類的指標賦值給基類的指標變數。4.生成std map的時候,鍵值可以是任何類,...