個人的知識點總結 c 篇 一

2021-09-26 23:36:45 字數 1583 閱讀 2119

啊啊啊,作為大四馬上畢業的一位老狗,即將面臨著找工作的壓力,回頭看看自己學過的知識,好多都忘了,也有好多都是當時就沒有學過。為了做一些準備去面試,我就複習+學習一下相關的知識點吧。先從c++開始。let『s go!

1.定義全域性靜態變數或者函式

那這樣靜態的變數或函式和非靜態的有什麼不同呢,就是隱藏。就是說,當乙個原始檔裡定義的全域性變數如果非靜態的話,其他檔案就可以訪問到這個變數(通過extern),而靜態的變數在外部訪問的話,會產生鏈結錯誤,編譯不會報錯。

檔案extern.cpp:

#include int a = 5;

static int b = 5;

static void printhellostatic()

void printhello()

檔案main.cpp

#include int main()

2.定義區域性靜態變數

這個就是在函式內部或者成員函式內部的變數了,也儲存在靜態儲存區,通過多次呼叫該函式,這個變數也只執行一次初始化的語句。

3.靜態成員

普通的成員在生成物件例項時,獲得相應記憶體空間。靜態成員在類建立時就已經分配好相應的記憶體。靜態成員是相同類之間的共有成員,可以直接通過類名::靜態成員來訪問。

設計模式上:c是面向過程的語言 c++是物件導向的語言

語法上:有封裝、繼承、多型的特性

c++支援正規化、如類模板、函式模板

c++有許多態別安全的功能,如強制型別轉換

1.const_cast

這個其實我沒太搞懂,按照百科的說法,修改型別的const或volatile屬性。使用該運算方法可以返回乙個指向非常量的指標(或引用)指向b1,就可以通過該指標(或引用)對它的資料成員任意改變。

#include using namespace std;

int main()

大概就是可以改變指向常量的指標或引用的常量值吧。。

2.dymanic_cast

這個是用於基類與派生類之間的相互轉換的。當派生類向父類轉換,是絕對沒有問題的。父類像派生類轉換的話,需要父類指標本來就是指向的派生類物件,否則轉換結果為空。

還要注意就是dynamic_cast在程式執行時轉換,所以必須通過類的虛函式表來判斷兩個類的繼承關係,所以基類中必須有定義的虛函式。

#include using namespace std;

class base;};

class child:public base

};int main()

3.static_cast

可以用於基類於派生類的相互轉化,基類轉化為派生類沒有安全性檢查。

基本資料型別的相互轉化,也沒有安全性檢查

不同指標型別的轉化

任意型別轉化為void(並不知道有什麼用)

4.reinterpret_cast

啥都可以轉,包括int轉指標這種的。

使用cast有啥好處:使用這些cast運算子替代c中的強制型別轉換,可以更多的進行安全性檢查,防止轉換發生錯誤丟失。

個人知識點總結

解除安裝 1.解除安裝 viewholder.iv antivirusitem clear.setonclicklistener new onclicklistener 2.監聽解除安裝廣播事件 1.建立監聽解除安裝的廣播接受者 private class uninstallreceiver ext...

個人知識點總結

1.url headers 引數確定 url 如果目標 是靜態的網頁,那就直接確定是他 遇到 ajax 非同步載入 需要通過 network 中 xhr 來通過抓包獲取資料 headers 這個不多說了 2.關於請求方式 我用的最多的 還是 get 請求 還有乙個沒有怎麼學到post 就pass 常...

C 知識點總結 委託篇

c 知識點總結1 委託篇 1 委託概念 當要把方法傳送給其它方法時,需要使用委託。委託是一種特殊的引用型別,用於封裝命名方法 靜態或例項 或匿名方法。委託的作用相當於給方法簽名指定名稱。使用delegate關鍵字來宣告乙個委託引用型別,這種特殊的引用型別稱為委託。2 定義委託 告訴編譯器某個委託引用...