關於C ,GDI的一些小體會

2021-05-21 18:02:57 字數 786 閱讀 7108

1.

「一般不要在基類中做型別判斷,要在派生類中過載相應函式」,總是聽說,就是總忘,今天後面乙個哥們被組長訓,我記錄下來防止我被訓。

2.不要反覆做new-delete操作,特別不要在迴圈中做這樣的操作,即使自己的記憶體**多nb。反覆做new-delete操作,會造成記憶體碎片,在要求記憶體特別高的地方會不堪設想。可以提前申請一大塊記憶體,或者改為快取機制。

3.gdi資源用完之後不要忘記**,否則會造成gdi資源洩漏。畫筆畫刷等等gdi用完後不要忘記還原,否則會出現莫名其妙的錯誤。

4.盡可能的用新式型別轉換。少用舊時的強制型別轉換int(a)等等

1.const_cast(....)

用來將物件const去除。

2.dynamic_cast(...)安全向下型別轉換

一般不要用,效率低下。如果手中只有基類指標,則一般是設計出現問題。

3.static_cast(...)強制型別轉換

int-->double

void*--->typed*

...

用新式的原因是在1.**中容易辨認,2.有時候不得不用(比如去除const屬性),3.編譯器可能更容易發現錯誤。

5.  bitblt和 strechblt的區別

簡單說,bitblt直接按你指定的大小輸出源dc到目標dc,而strechblt會調整你源dc大小,使之適應你所指定的目標dc大小,再輸出。

也就是說,strechblt輸出的圖總是完整的,而且充滿你指定的目標dc區域,而bitblt則可能輸出的圖是不完整的,也可能無法充滿目標dc制定區域。

一些小小體會。。。

接觸sap 與 abap 已經有8個多月了 從當初什麼都不懂的小菜鳥,到如今,可以算是努力擺脫初級,在公升級前的掙扎,最後一段的衝刺。可笑的是,即使擺脫了初級,不再被稱為是菜鳥,離老鳥的尊稱還有很長一段距離。目前為止,浪費了不少時間,在abap 的學習上雖然刻苦認真許多,但是在sap 的相關模組業務...

關於實現(大)系統的一些小體會

自 突然發現自己很久沒有更新部落格了。主要的原因還是這陣子特別懶,沒有努力學習新的東西,光忙著每天的日常任務。佛曰 這樣不好,不好.這些體會是基於乙個這樣的系統 它包含有十幾個大小不一的模組,這些模組分布在不同的機器上,每個請求都需要這些模組的協作才能夠完成。我不是太好 意思稱它為大系統或者分布式系...

關於編譯的一些小知識

gnu編譯器 g 編譯 c 程式 在windows下,進入源 所在的路徑下,在命令列中輸入 g o test.exe test.cpp將test.cpp 編譯生成 test.exe 可執行檔案,如果沒有 o test.exe 選項,預設生成 a.exe 在linux下,進入源 所在的路徑下,在命令列...