re: 回顧編程十年 Alex-Lee 2012-04-09 08:30
都不過如此,身體健康、家庭和睦比啥都強,共勉。
太好了,正需要一個這個文章。一直沒有找全,今天終于發(fā)現(xiàn)了。
re: 心情:日夜的混亂 Alex-Lee 2012-02-24 08:59
他們語法還是有很多相近的地方,要是敲C#和JAVA轉(zhuǎn),人都得瘋了。
這個問題在C語言的很多書里頭都說明白了,樓主自己看書不細心。就是個簡單的指針問題。這個問題現(xiàn)在也很好查,典型的內(nèi)存泄露,直接可以定位到代碼行。
@jacky
這個估計是沒有數(shù)字簽名引發(fā)的。
贊樓主
re: 敢問路在何方? 一個老程序員的真情告白! Alex-Lee 2011-12-29 13:08
@空明流轉(zhuǎn)
好像已經(jīng)得罪人了。好人沒做成,反倒惹了一身騷。一番好意,反倒,哎,罪過啊。還是下周做天義工,希望能洗刷自己的靈魂。
re: 敢問路在何方? 一個老程序員的真情告白! Alex-Lee 2011-12-29 10:18
暈,自己打錯字了:技術(shù)水平絕對高超(水平湊合)。這下估計得得罪不少人了 @_@
re: 敢問路在何方? 一個老程序員的真情告白! Alex-Lee 2011-12-29 09:03
1、覺得自己技術(shù)好、能力強,收入不平衡,不要蒙在心里,不要怕,直接找領(lǐng)導(dǎo)談吧,領(lǐng)導(dǎo)會給出他的看法的。就是談崩了也沒什么了不起,不是嗎?
2、學(xué)習(xí)王江民吧。希望你知道他,并能深入的了解他。
3、我比你大兩歲,工作比你多2年。曾經(jīng)的211/985 學(xué)生,知名企業(yè)300-400人的研發(fā)隊伍里頭,技術(shù)水平絕對高超,人緣也好,領(lǐng)導(dǎo)也喜歡我。我的工資也不到10K,憑自己水平進百度、騰訊,弄個年薪20W不存在問題,可是我并不想去。生活中還有很多其他的值得自己去付出。一言難盡,找到自己喜歡的,讓自己內(nèi)心平靜吧。
找到一個聰明、正值、有責(zé)任的人,當(dāng)領(lǐng)導(dǎo)的好好培養(yǎng)他,這才是本事。一個優(yōu)秀的人才,他不會隨便跳槽的。就是這個面試者,他的這些言論,他也是學(xué)來的。至于其中當(dāng)架構(gòu)師的因由等,其實憑一個剛工作一年的哥們理解,有點期望太高。就是工作3-5年了,能理解這個嗎?我相信很多人不理解。我工作5年了,我也理解不了架構(gòu)師是啥東西。他要是一年就能理解了,那就不是你simon能給罩得住的人。既然simon好像很懂似的,為什么不培訓(xùn)他們?傳播自己的見解?simon只不過是個傻子而已。simon問的陷阱問題,你是找一個能干活的,還是找一個能給發(fā)現(xiàn)陷阱的?不能發(fā)現(xiàn)陷阱就不聰明、不能干活?這個simon讓我想起了網(wǎng)上流傳的huawei人力資源沒事整人玩。公司需要人力資源的業(yè)績,業(yè)績怎么來?找點整人的招,上唄!
re: 哈希結(jié)構(gòu) Alex-Lee 2009-10-22 18:54
@fcc
程序經(jīng)過編譯,沒有什么問題。LM_MALLOC等是我寫的一個內(nèi)存分配封裝函數(shù),用于將所有的分配的內(nèi)存地址使用單鏈表連接,在debug時,用于發(fā)現(xiàn)內(nèi)存泄露問題,release時直接就是malloc。這是我實現(xiàn)的一個發(fā)現(xiàn)內(nèi)存泄露的方法,靈感來源于《微軟C編程精粹》。
HASH_TABLE是DATA_NODE*型。不好意思,在摘代碼時把
typedef DATA_NODE* HASH_TABLE;
給忘掉了。謝謝提醒。
@李佳
@Vincent
受金融危機影響,今年工作不怎么忙。幾乎將數(shù)據(jù)結(jié)構(gòu)與算法忘得差不多了。這陣子看《算法導(dǎo)論(中文版)》潘金貴版。這本書講得很好,有廣度,也很有深度。數(shù)學(xué)基本忘得差不多了,其中關(guān)于數(shù)學(xué)論證時間復(fù)雜度的相關(guān)方面看得馬馬虎虎。哈希的開放地址法就沒怎么看明白。謝謝大家的回復(fù),有不對的地方,請大家指點。
re: 優(yōu)先級隊列 Alex-Lee 2009-10-18 18:25
@OwnWaterloo
寫錯了,呵呵,刪除操作復(fù)雜度是O(lgn),這就改過來。謝謝。
re: Confused! 總結(jié)下心情 Alex-Lee 2009-04-15 16:51
@Sunshine Alike
陳梓瀚(vczh)是牛人,我們需要好好向他學(xué)習(xí)。我也是到現(xiàn)在這C++做界面真是郁悶得要死。咱兩可以一起學(xué)習(xí)。
re: MFC下CSocket編程詳解 Alex-Lee 2009-04-15 16:38
@Sunshine Alike
你先把unicode代碼轉(zhuǎn)換成多字節(jié)碼后發(fā)送,接收時反過來。win api有multibytetowidechar,widechartomultibyte 兩個函數(shù),
C運行庫有mbstowcs_s,wcstombs_s,具體可以參加msdn,或者網(wǎng)上搜索下。
re: 看看這只鴨子上藏了些什么? Alex-Lee 2009-03-21 01:11
@規(guī)劃
你的機器可能有問題,可能是內(nèi)存或者主板不穩(wěn)定。我的機器3個游戲都跑了20+分鐘沒有問題。
re: 看看這只鴨子上藏了些什么? Alex-Lee 2009-03-20 20:16
確實好神奇啊。太強大了,神起!敬禮!
@陳梓瀚(vczh)
謝謝。shared_ptr使用delete的話,這樣操作數(shù)組確實是問題。因此,對于設(shè)計數(shù)組類型的安全類,不能選用shared_ptr這么處理,這樣看來,類設(shè)計時選用shared_ptr就是錯誤的。這樣,終于搞明白了,為什么開始有人說這個設(shè)計糟糕透頂了。這個設(shè)計確實是有問題的。這次,印象深刻,徹底糾正了思想上的錯誤。
re: 面試中碰到的一個C++陷阱 Alex-Lee 2009-03-19 14:52
雖然博主沒有說的非常的明白,但是這中討論,讓大家獲益匪淺。還是不錯哦。
@yindf
@陳梓瀚(vczh)
首先謝謝大家給的意見,果然高手如云。再次拜服。
兩位意見不錯,特別是構(gòu)造函數(shù)那個錯誤比較大。這個確實是疏忽了。Exceptional c++中的NewCopy函數(shù)可以借用解決這個問題。
另外,異常安全有三個等級,依次是無資源泄露,狀態(tài)一致,無異常拋出。一般能實現(xiàn)到狀態(tài)一致是很不錯了。
我談?wù)勛约涸O(shè)計的初衷。
1,像PIMP/COW實現(xiàn)太過復(fù)雜,啰嗦,不太喜歡。
2,使用shared_ptr是因為,智能指針本身就是為了防止原生指針資源泄露問題而設(shè)計的,這樣就達到了無資源泄露的基本保證。就不需要處理原始指針問題。
因此,我的設(shè)計就是保證狀態(tài)一致問題。也即是說,我設(shè)計這個類就是只要保證狀態(tài)一致即可。如果確實使用char*這樣的原生指針作為數(shù)據(jù)成員,那么這個類確實需要重新設(shè)計,這毋庸置疑。
3,equal()函數(shù)自己也有些疑惑,到底是只要兩個字符串的值相等就行還是需要指向的是同一塊字符串內(nèi)存呢?或者myString對象本身就應(yīng)該是同一個對象?4,關(guān)于維護length長度問題,由于使用shared_ptr實現(xiàn),因此,就不需要維護 length成員。否則,如果使用shared_ptr與length,還需要維護兩者之間的一致。當(dāng)然,如果使用原生指針char*而不是使用shared_ptr,那么提供length成員變量是應(yīng)該。
5,由于使用shared_ptr,因此就不需要引用計數(shù)了。shared_ptr本身是引用計數(shù)的實現(xiàn)。myString封裝中沒有其他的成員,不涉及占過多內(nèi)存的問題。
這篇文章的發(fā)表,確實是讓我學(xué)習(xí)到了不少東西,再次謝謝大家,希望大家多提意見,這樣才能快速成長。
re: 面試中碰到的一個C++陷阱 Alex-Lee 2009-03-18 10:55
6.函數(shù)與虛函數(shù)
編譯器為每個有虛函數(shù)的類都建立一個虛函數(shù)表(其大小不計算在類中),并為這個類安插一個指向虛函數(shù)表的指針,即每個有虛函數(shù)的類其大小至少為一個指針的大小4
class A{
public:
int a;
void Function();
};
class B{
public:
int a;
virtual void Function();
};
class C:public B{
public:
char b;
};
class D:public B{
public:
virtual void Function2();
};
class E{
public:
static void Function();
};
sizeof (A) = 4 (內(nèi)含一個int,普通函數(shù)不占大小)
sizeof (B) = 8 (一個int ,一個虛函數(shù)表指針)
sizeof (C) =12 (一個int ,一個虛函數(shù)表指針,一個char ,再加上數(shù)據(jù)對齊)
sizeof (D) = 8 (一個int ,一個虛函數(shù)表指針,多個虛函數(shù)是放在一個表里的,所以虛函數(shù)表指針只要一個就行了)
sizeof (E) = 1 (static 函數(shù)不占大小,空類大小為1)
參考:
http://hi.baidu.com/weiloujushi/blog/item/33f7f8b75d7a35f330add131.html
等會驗證下
@wingfire
兄弟,能說清楚點嗎?有好的資料推薦下?