(自己看的。)c 基礎。

2021-10-09 09:31:35 字數 1544 閱讀 8197

1.const 作用

const char *p 指向的char不可改變

char *const p 說明指標是常量,指標自身不可改變

const char* const p 指標自身是常量,指向的char也不可改變。

2 .static

虛函式表現為多型時(執行)不可內聯。

volatile 型別修飾,告訴編譯器不要對這樣的物件進行優化。

assert()巨集,如同它的條件返回錯誤終止執行。

#program pack(push) 儲存對齊狀態;

#program pack(4) 設定為4位元組對齊;

#program pack(pop)恢復對齊狀態;

extern 」c』

被extern c 修飾的變數和函式按照c語言方式編譯和鏈結,

explicit 顯式關鍵字

防止隱式轉換和複製初始化。

friend 友元類和友元函式

能訪問私有成員,破壞封裝。

using 引入命名空間的乙個成員 盡量少使用using namespace std;

成員初始化列表

好處:高校,少了一次呼叫預設建構函式的過程。

場合:常量成員只能初始化不能賦值,所以必須放在初始化列表裡面

引用型別,引用必須在定義的時候初始化,不能重新賦值

使用初始化列表可以不必呼叫預設建構函式在初始化。

10.封裝:就是把客觀事務封裝成抽象的類,裡面的資料,方法給受信的子類或者物件使用,對不可信的資訊隱藏。

11.虛函式 virtural;

非類成員函式不能使虛函式

靜態函式不能使虛函式

建構函式不能使虛函式

== 純虛函式== virtual int a()=0; 基類裡沒有給他實現,而是留給派生類去實現

虛函式在子類可以不重寫,但是純虛函式必須在子類實現才可以例項化子類。

虛函式表:在程式唯讀資料段,存放虛函式指標,如果派生類實現了基類的某個虛函式,則在虛表中覆蓋原本基類的那個虛函式指標,在編譯時根據類的宣告建立。

auto_ptr 可以複製拷貝,之後所有去權轉讓。 不能管理陣列,析構函式只有delete

unique 可以管理陣列,析構用delete

強制型別轉換符;

static_cast

不執行執行時型別檢查,轉換安全性不如dynamic_cast;

用於非多型型別的轉換。

通常用於轉換數值資料型別 例如float int

子類轉父類可以,向上轉換時隱式轉換

dynamic_cast

用於多型型別的轉換

執行執行時的型別檢查

只適用與指標或引用

對不明確的指標的轉換將失敗,返回nullptr,但不引發異常。

可以在類層次中為所欲為

const_cast

用於刪除const,volatile等,比如const-int 到 int

reinterpret_cast

用於位的簡單重新解釋,允許指標之間的轉換。

允許任何整數型別轉換位指標,以及反向轉換

寫給自己看的C 委託筆記

首先先套用一下書中對於委託的描述 什麼是委託,法庭上律師為當事人辯護,他真正執行的是當事人的陳詞,律師就相當於乙個委託物件,而當事人則委託律師物件為自己辯護。c 中的委託概念就好比律師物件,它是乙個類 委託是類型別 因為只有類物件才有物件的概念。c 中的委託可以理解為函式的乙個包裝,它可以使函式作為...

寫給自己看的

我不常寫日誌,不過最近各種事情,還是有點需要記錄下來。今天下午上資料庫的時候,本來以為被鄙視了的 筆試居然發來恭喜通過的通知,說是等待面試,出乎意料的同時也感嘆rp又用掉了很多 最近的rp消耗確實有點失常,painterbee在mm上的表現就不說了,在校賽上也拿到了之前沒拿過的高名次,雖然是題目的區...

自己看的Manacher

1.問題引入 最長回文子串 即在給定的串中找到乙個子串,該子串是回文串且長度最長。回文串即對稱串。舉例 s abadaba 回文子串有 aba abadaba 而最大的即是s本身 2.常規方法 1 暴力演算法 o n3 暴力列舉每乙個子串,判斷是否為回文串。若是,記錄並更新長度 若不是,則跳過。in...