回顧經典Effective C 3 4

2021-06-22 17:44:33 字數 783 閱讀 8033

base of "const":

強調常量性,不可修改性。

eg:

char greeting = "hello";

char *p = greeting;

const char*q = greeting;

char* const q = greeting;

const char*const q = greeting;

extend of "const":

const 成員函式:

bitwise constness;編譯器理念的不可修改性

logical constness;^up

1.
class ctest

private:

char* ptext;

}

如上返回的引用可修改內部ptext,這點個人認為不好。

2.對應的logical constness可修改const函式內的賦值行為:

mutable

notice-3:

當const和non-const成員函式有著實質等價,可令non-const版本呼叫const版本避免**重複。

notice-4:

為免除"跨編譯單元之初始化次序"問題,請以local static 物件替換non-local static 物件。

Effective C 3 資源管理

problem void f solution.1 使用auto ptr智慧型指標確保資源的釋放,避免記憶體洩露 void f key points 以物件管理資源 的兩個關鍵想法 1.獲得資源後立刻放進管理物件內 如auto ptr 2.管理物件運用析構函式確保資源被釋放 attention au...

經典回顧(一)

依稀的記得河南省第七屆acm省賽的第一題 物資排程 貌似可以用dfs水過,但是後來發現可以用dp解決。現在在做面試題的時候又遇到了類似的問題。突然發現這題原來也不過如此,我也能把動態轉移方程給推出來了。方法一 dfs,每個數都有取和不取兩種狀態。如果資料太大 2 n 一定會超時。includeusi...

經典回顧 Deepwalk模型

deepwork本質是word2vec模型在圖資料的擴充套件,通過deepwork方法可以獲得更加有效的圖資料節點的在連續空間的編碼。在圖資料用random walk取樣的序列等價於自然語言中的句子,序列中的節點等價於自然語言中的單詞。本節提到的所有word2vec技術 cbow,skip gram...