C 實踐總結

2021-09-06 15:55:31 字數 1808 閱讀 1155



對於乙個應用程式而言,

靜態鏈結庫可能被載入多次,

而動態鏈結庫僅僅會被載入一次。

gameloft

面試之錯誤一

event:

面試官說例如以下程式是能夠鏈結通過的.

class base

virtual void initialize(void) = 0; 

};

class derived : public base

}; base* obj = new derived;

in fact:

鏈結根本不能通過

,原因:虛函式表是在構造函式呼叫完畢之後才完畢初始化的。

summary:

虛函式表在物件建立完畢後才被初始化,

而在構造基類建構函式去掉用虛函式時是無法呼叫到派生類實現介面的

:例如以下樣例鏈結定會失敗(不管

gcc還是

vs編譯器

)(總結

: 牢記自己曾今的研究):

gameloft

面試之錯二

event:

面試官說例如以下寫法是可通過編譯的:

class a

}; in fact:

編譯時不能通過的

: 「const char*」

型別的值不能用於初始化

」char*」

型別實體

summary:

應堅定地相信自己自己通過科學做出的推斷

gameloft

面試之錯三

event:

面試官說例如以下寫法大多數編譯器不支援

void(classname::  *px)(void);

in fact:

實踐證明

,vs和

gcc編譯器均支援該寫法

summary

該寫法並未違背

c++標準

,應當被支援

,至於除

vs,gcc

之外的編譯器未曾了解.

陣列指標的初始化及銷毀

(new/delete)

操作:(gameloft

面試後思考

) int (*parr)[10] = (int(*)[10])( new int[10] );

delete parr;

在多繼承的時候,

dynamic_cast

返回nullptr

的情況:

現有2個基類:

base1

,base2

二級基類:

base3

同一時候繼承與

base1, base2

對於對於子類

derived,

假設子類是非

public

繼承與base3時,

但用基類

base2

指標儲存

derived

物件時,

dynamic_cast

轉換基類

base2

指標 到

base1

指標,會失敗返回

nullptr

hql實踐總結

1.select from tb1 where dt 20110824 and id and id is not null 這一句是錯的 2.id 這句會轉換為id cast as int cast as int null,null與任何邏輯操作符的比較結果都是null,在過濾時按false處理 需...

MySQL實踐總結

create table new table select from old table create table new table like old table insert new table select from old table此外,如果想從另外表匯入資料 insert into ta...

敏捷實踐總結

經過半年的實踐,可以總結了。這次敏捷實踐總體上說是比較成功的,完全按計畫完成了任務,團隊的凝聚力較強,員工進步很大,我個人也很有收穫。還是說說可以改進的地方吧 1 產品負責人不在團隊中,會有很大的問題。這體現在很多問題在最後評審時才提出來。我只是技術負責人和日常管理。雖然後期我也有意識的加強了和產品...