兩個C 的小問題

2021-08-29 14:34:08 字數 1086 閱讀 1827

1.拷貝建構函式中的const

adsrptplayliststatus( adsrptplayliststatus& other ):adsreport( other )

只有加const後才能正常的賦值 adsrptplayliststatus( const adsrptplayliststatus& other ):adsreport( other )

2.初始化順序 乙個很簡單的灌資料的測試程式

定義乙個全域性變數: adsserverframe *frame = null; 其建構函式:

adsserverframe::adsserverframe(wxframe *frame, const wxstring& title,int x, int y, int w, int h)

: wxframe(frame, wxid_any, title, wxpoint(x, y), wxsize(w, h))

執行緒: inputfilethread 啟動動後立馬開始執行。 執行緒 inputfilethread 中會使用全域性的變數 frame

void *inputfilethread::entry()

執行時,初始化frame即可。

在兩台機器上執行沒問題,但是當把程式靠到一台新機器上時(新機器配置較好),立馬報 0x00000000 指標錯誤,就是空指標。看了下程式,很簡單的程式,哪來的空指標呢?考慮了一下,應該是那個 frame

在初始化 frame 的過程中,初始化了執行緒 inputfilethread 這時候存在兩個執行緒,乙個主線程,乙個 inputfilethread 例項 可能在 frame 尚未初始化完畢,執行緒 inputfilethread 呼叫了frame frame 此時為空,沒有作空指標檢測,自然會報空指標錯誤。

解決辦法: a.執行時,先初始化 frame,然後在初始化執行緒 inputfilethread;也就是說,不要再frame建構函式中初始化執行緒; b.執行緒 inputfilethread 中作乙個loop,檢測 frame是否為空,若為空,則一直sleep,不為空再繼續執行;

兩個小問題

最近實驗室的工作上碰到的兩個小問題,記錄一下。1.yuv顏色空間的gmm 之前用過很多次的在rgb上的混合高斯模型,最近需要對乙個yuv序列使用gmm方法建背景。因為有現成的 所以第乙個出現在腦海中的想法就是用公式把yuv轉成rgb之後,完了再轉回yuv。後來再回頭一想,完全不必要如此,因為gmm完...

MySQL的兩個小問題

近期打算離職,所以開始投簡歷重新找 的工作,然後 資本打 過來 面試,提了兩個問題,全沒答上來,其實是太久沒用mysql了啊,還有我工作就是不斷去試出來的,反正整理一下啦。有兩張表 如上圖a表和b表這樣子,一共有15個同學,想得到學號為1 15的學生的平均分,如果該項沒有成績就為0,怎麼操作?面試卡...

生活中的兩個小問題

看似簡單的問題,如果不小心,很容易掉進陷進裡哦o o 看題吧 第一題 有3個人去投宿,一晚30元.三個人每人掏了10元湊夠30元交給了老闆.後來老闆說今天優惠只要25元就夠了,拿出5元命令服務生退還給他們,服務生偷偷藏起了2元,然後,把剩下的3元錢分給了那三個人,每人分到1元.這樣,一開始每人掏了1...