記錄一下

寒假到現在目前為止讀了不少東西

在這裡記下來以後才不會忘記@@

1.C++ / C

(a)繼承與多型

這東西太多= =只能簡單提一下

繼承的方式有三種:public, protected, private

注意多重繼承和虛擬繼承,和一些變數與函式經過繼承後的變化

建構函式無法繼承,必要時請透過別種方式進行初始化

多型方面注意一下virtual function

大概這樣(東西多,記多少算多少= =)

 

(b)new V.S. malloc

new是operator。malloc是function

new除了管記憶體配置,還會呼叫constructor對記憶體進行初始化。malloc只管記憶體配置

new可以多載,每個class都可以有各自的new。malloc不行

new沒有resize,記憶體配置大小會剛剛好。malloc有resize,記憶體配置會稍大

new可以偵測類型。malloc不行,所以在C++使用malloc需要做typecast,但在C裡用malloc就不用做typecast

 

(c)void*  (void指標)

舉例比較快

void *p1;

int *p2;

p1 = p2 -->ok

p2 = p1 -->error

簡單來說,任何形式的pointer都可以assign值給void*,void*是一個無(特定)型別的pointer

題外,GNU和ANSI對於C語言的語法,支持標準有差,總體來說GNU較開放,能支持較多語法

題外,什麼是reference?

 

(d) operator overloading

單元運算子與雙元運算子的分別:看運算元的數目

想一下要如何運用在class上

實際的寫法是什麼

 

(e) IO 

想一下get與getline的差別

什麼是buffer

endl這個東西做了哪些動作,跟\n有何差異

ostream& 和 istream& 各代表什麼意思,如何搭配class和"<<,>>"來多載

檔案讀寫fstream, ifstream, 如何寫入/讀取檔案?

 

2.UNIX / Linux

(a)歷史,知識

UNIX是一種作業系統,而Linux嚴格來說是一個核心(kernel),也可以是指類UNIX的作業系統(或稱GNU \ Linux)

GNU是一個希望能夠建立一套完全自由的作業系統的計畫,發起人是Richard Stallman。至今,GNU開發出許多相當好用的免費軟體(GPL條款)。

GNU開發的核心是HURD,不是Linux。

至於Shell,有時間再說,只要知道我有讀這東西就好了(好混-.-),記一下bash和rc檔

 

(b)指令

回想一下哪些是terminal上面常用的指令(cd, pwd, ls, cp, mv, rm, mkdir........)

另外一些跟壓縮有關的指令(tar, xvpf , cvpf.......)

還有一些管理時所需要的指令(su, passwd, sudo...)

-i, -s, -h, -l, -f, -r, -a, 這些東西跟不同指令結合時各自代表什麼意思,想一下

另外設定權限(rwx, setuid, setgid, stinky bit)的一些知識,回想一下

還有apt-get和apt-cache的一些用法(APT = 套件管理工具)

其它像是kill, kill -9, top, ps, shutdown, more/less等等,想一下這些是什麼東西

當然,也要想一下這些指令的用法,不能只是記功用

 

*程式無回應時的解決之道

a. kill <PID>

b. alt+f2 --> killall <application>

c. alt+f2--> xkill --> 滑鼠點擊要終止的程式

 

先這樣吧-.-有想到再補

如果有人看到上面的知識是錯誤的,歡迎批評指正,感謝<(_ _)>

 

 

 

 

 

 

 

文章標籤
創作者介紹

Tube's World

Tube 發表在 痞客邦 PIXNET 留言(0) 人氣()