c 常見知識點1

2021-08-08 19:10:11 字數 1257 閱讀 1877

1、深拷貝和淺拷貝

編譯系統在我們沒有自己定義拷貝建構函式時,會在拷貝物件時呼叫預設拷貝建構函式,進行的是淺拷貝

在對含有指標成員的物件進行拷貝時,必須要自己定義拷貝建構函式,使拷貝後的物件指標成員有自己的記憶體空間,即進行深拷貝

2、bool,int,float,指標型別與0進行比較

bool a;

if(a);

int a;

if(a==0)

float a;

if(abs(a)<=epsilon)

if(abs(a)>epsilon) //其中epsilon為精度

int *a;

if(a==null)

3、不使用中間變數實現兩個變數的轉換

//1)   算術運算

int a,b;

a=10;b=12;

a=b-a; //a=2;b=12

b=b-a; //a=2;b=10

a=b+a; //a=10;b=10

//2) 指標位址操作

int *a,*b; //假設

*a=new

int(10);

*b=new

int(20); //&a=0x00001000h,&b=0x00001200h

a=(int*)(b-a); //&a=0x00000200h,&b=0x00001200h

b=(int*)(b-a); //&a=0x00000200h,&b=0x00001000h

a=(int*)(b+int(a)); //&a=0x00001200h,&b=0x00001000h

//3) 位運算

int a=10,b=12; //a=1010^b=1100;

a=a^b; //a=0110^b=1100;

b=a^b; //a=0110^b=1010;

a=a^b; //a=1100=12;b=1010;

//4) 棧實現。

int exchange(int x,int y)

4、用巨集定義實現 min,返回較小值

#define min(a,b) ((a) <= (b)? (a) : (b))
5、常見編碼格式,及亂碼的原因

常見字符集編碼格式名稱:

ascii編碼、gb2312編碼、gbk編碼、gb18030編碼、utf-8編碼、big5編碼、unicode編碼

一般可以分成五種型別:

常見C 知識點

1 非c 內建型別 a 和 b,在哪幾種情況下b能隱式轉化為a?a.class b public a b公有繼承自a,可以是間接繼承的 b.class b b實現了隱式轉化為a的轉化 c.class a a實現了non explicit的引數為b 可以有其他帶預設值的引數 建構函式 d.a oper...

常見知識點總結 1

1.獲得專案中info.plist檔案的內容 1 nsbundle mainbundle infodictionary 2 版本號在info.plist中的key kcfbundleversionkey 2.自定義控制器的view 重寫loadview方法 不需要呼叫 super loadview ...

js常見知識點 1

物件訪問 book.topic 等價於book topic var index topic book index 等價於book.topic math函式 math.pow 2,3 math.round 1.6 math.ceil 0.6 math.floor 0.6 math.random nan...