C 的一些注意事項

2021-07-10 03:24:57 字數 2058 閱讀 9404

1、類的構造:假定myclass是乙個自定義類,則當執行 myclass a[3],*p[2]; 實際上執行建構函式的次數只有3次,也就是物件指標陣列不會引起執行建構函式。

2、常資料成員:對於常資料成員,可以在宣告時一併初始化(c++11),也可以在建構函式內初始化。但是,不能不初始化。在宣告時初始化之後則無法再次修改其值,不管是在建構函式內還是普通成員函式內。若在類內宣告,並未初始化其值,則只能在建構函式的初始化列表裡面初始化其值,不能在建構函式體內初始化,也無法在普通成員函式內初始化。

#include 

class myclass

private:

const

int a;

};int main(void)

3、常成員函式與常資料成員:類的常成員函式可以操作常資料成員,但是不能修改。普通成員函式可以操作常資料成員,但不能修改,總之,就是常資料成員無法在函式中修改值,也就是唯讀read-only。

class myclass;//建構函式

void setvalue(int i)//設定value值

private:

intvalue;

};int main(void)

4、資料成員為指標的情況:

class myclass

myclass(int i)

private:

int* value;

};

若要對value賦值,則可以利用建構函式myclass(int i),在使用時:

myclass

my(10);

5、拷貝初始化建構函式:若沒有自定義,則c++會自動建立拷貝初始化建構函式。

class myclass

myclass(int i)

private:

int* value;

};int main(void)

6、const int* x 和 int* const x 的區別:

int main(void)

要清楚認識到這個const修飾的是int* x,也就是說這個指標指向的物件的值是不能被修改的。那麼可以更改這個指標的指向麼?

答案是可以,參見如下**。因為const只作用於*x,即x所指向的那個物件。

int main(void)

int main(void)

總結說:就是看const修飾的是什麼!對於const 型別名* 指標名;這樣的表示式是同樣的道理。

(1)若修飾的是int *x則表明不是修飾的指標本身,而是修飾的指標指向的物件,結果是指標可以改變指向,但指標指向的物件的值無法被改變。

(2)若修飾的是x,則表明指標的指向不能被改變(是read-only的),但指標指向的物件的值能否被改變還要看指向的物件自身是不是const的,如果是,則不能被修改,如果不是,則可以被修改。

7、對於new運算子建立物件和物件陣列問題:

#include 

class myclass

};int main(void)

8、關於c++中的巨集替換:(這是很大一塊兒內容需要補充學習的)

定義的巨集函式是如何替換的?(c語言的遺留問題。)

看到有這樣的巨集替換寫法,和模板類似,但是目前編譯不通過,估計是已經被廢棄了吧?

#include 

#define my_class(classname,classdatatype)

class classname

private:

classdatatype value;

};my_class(myclass,int);

my_class(otherclass,double);

int main(void)

c 一些注意事項

1.long int的位元組資訊 int在32位系統下是4位元組,long在32位也是4位元組,在64位int不變,但是long變成8位元組,所以我們的編譯器不同可能會導致我們處理int,long不同 2.注意c 有時候的強制型別轉換 注意最大最小值是不一樣的,int max 231 1 或 int...

一些注意事項

0.解題思路 a.普通思路 b.遞迴 bfs dfs c.動態規劃 比遞迴快 d.雙指標 比for迴圈快 如 快慢指標方法 e.用棧 1.陣列初始化 int a new int 5 a 0 預設為0.二維陣列也一樣。boolean b new boolean 5 b 0 預設為false.strin...

php XPATH一些注意事項

40集 建立乙個dom物件並讀取xml檔案到記憶體中 dom new domdocument 1.0 utf 8 dom load book.xml 建立乙個xpath物件 xpath new domxpath dom sql bookstore book 1 title 注意此處路徑數字從1開始,...