關於c 的一些自我認識(1)

2021-06-28 17:48:54 字數 771 閱讀 9442

今天突然心血來潮想寫點博文複習一下剛剛學完的c++和以前犯的低階錯誤~

用來勉勵和敦促自己,以後犯錯了也方便再回來看看:

1.一步到位的字串複製

while((*str2++=*str1++)!='\0');

2.條件判斷中如whie(a&&b)&&或‖前面的要是不成立就不判斷後面的了

3.c++中,過載函式允許使用同乙個函式名,但變數型別必須不同(或者變數個數不同,如f(a,b)和f(a,b,c))並且每一種情況必須都編譯一遍,如int fun,double fun,因此可以把兩個或以上fun功能設定成一樣,輸出不同型別就不必記不同的函式名稱了;需要注意定義時int和float會自動被強制型別轉換

4.定義變數時若不立刻賦值,他就會被分配到一塊值為0的記憶體區.所以const int a;a=4是錯的.int p= new int ;此時的p為0,所以if(!p)用來觀察是否new成功

5.for迴圈沒有i+2只有i=i+2

6.函式不能相互賦值,如fun(a)=fun(b)是錯誤的,除非先令fun(a)=a;fun(b)=b;a=b;

7.指標中(*p).fun()等價於p->fun()

8.定義f a後必須立刻賦值;即f a(6);f a=b;否則會呼叫空建構函式(若已經定義別的建構函式而沒定義空建構函式則會報錯)

9.sizeof(型別名)表示型別佔記憶體的位元組數.自定義型別長度為所有私有成員型別長度之和如class f則sizeof(f)=8

10.析構函式在定義物件為指標時發揮作用,因為指標不會自動返回記憶體,通過析構函式才能釋放

關於c 的一些自我認識(2)

接上篇 1.若寫成for int a 0 a 則a的生命週期只在for迴圈內,若寫成int a for a 0 a 則可以在外部繼續使用a 2.私有成員設定成指標和陣列的區別 指標只分配乙個位址單元,用來存放位址。陣列分配n個單元,用來存具體的值。所以你要是想把main中的乙個陣列的值初始化給私有成...

關於VC維的自我認識

vc維 傳統的定義是 對乙個指示函式集,如果存在h個樣本能夠被函式集中的函式按所有可能的2的h次方種形式分開,則稱函式集能夠把h個樣本打散 函式集的vc維就是它能打散的最大樣本數目h。若對任意數目的樣本都有函式能將它們打散,則函式集的vc維是無窮大,有界實函式的vc維可以通過用一定的閾值將它轉化成 ...

關於JAVA物件導向問題的一點自我認識

今天聽到有人說什麼是物件導向,另外乙個人直接回答一切皆物件,雖然對於這樣的回答我覺得並沒有什麼問題,但是我個人還是覺得這樣的回答有點不太符合我們對於物件導向這個思想的作用和結果.想到了以前上課時候老師說的物件導向就是物件導向的思想就是將複雜問題進行封裝,讓它更符合我們現在的思維,讓我們從執行者變成指...