• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆:78 文章:7 評論:38 引用:0
            C++博客 首頁 發新隨筆
            發新文章 聯系 聚合管理

            早就聽說人快點的沸點是會逐漸升高的,所有要不斷挑戰自己才能保持獲得快樂。剛上班的時候每次發工資都好開心,會去一遍遍的看工資條,特別有成就感。現在工資已經變成了一個數字,雖然月底的時候還是會期待,但是已經沒有那么開心了。于是,要訂新目標,找尋新快樂了,咔咔
            posted @ 2014-11-03 09:58 未央 閱讀(268) | 評論 (0)編輯 收藏
             
            有可能是遞歸層數過多,跳出條件失敗導致的。
            posted @ 2014-03-18 20:42 未央 閱讀(6638) | 評論 (0)編輯 收藏
             
            使用QMainWindow可以方便的添加菜單欄、工具條等,但是在Ubuntu 12.04的系統下,菜單欄始終無法顯示,后來得知是此系統將菜單欄做到的屏幕頂端。要想把菜單欄恢復到程序窗口中,需要卸載一些東西,使用下面的命令即可。 sudo apt-get remove appmenu-gtk appmenu-gtk3 appmenu-qt, 若想重裝回來則 sudo apt-get install appmenu-gtk appmenu-gtk3 appmenu-qt。
            此方法來源于
            http://comments.gmane.org/gmane.linux.ubuntu.user.chinese/9778

            在終端啟動gedit或gvim的時候,總是出現類似的問題:undefined symbol: menu_proxy_module_load

            找了下發現是安裝呢macbuntu的時候,之后再卸載后發生的問題,好像是多刪除某個東西,

            在這里找到答案:http://alexsleat.co.uk/2010/10/19/gedit-failed-to-load-type-module-menu_proxy_module_load-ubuntu/

            只需要重新安裝下就可以了,執行命令如下:
            sudo apt-get install appmenu-gtk

            posted @ 2014-02-18 17:27 未央 閱讀(3067) | 評論 (0)編輯 收藏
             
            轉自:http://www.cnblogs.com/qianyuming/archive/2011/03/09/1978910.html

            在Qt中,undefined reference to ‘vtable for 通常出現在打開了宏 Q_OBJECT的程式當中。我遇到的情況是:

            將類體及類體實現直接寫到main.cpp里,沒有包含 moc文件。這是一種常見的C++錯誤,通常就是類體中聲明的虛函數沒有找到實體。有時候你會說,我沒有聲明虛函數啊,怎么出來的? 那么建議你 Ctrl+左鍵追蹤一下Q_OBJECT這個宏,這個宏其實默認給你的類加入了一些虛函數的聲明(關于signal-slot實現的關鍵設施),而其實現實在moc_xx.cpp中自動生成的,如果你的編譯過程沒有產生這個文件,或者產生的這個文件沒有參與到編譯鏈接中去,那么就會發生這個錯誤。

            現將一篇文章收錄于此,以備查閱:

            undefined reference to ‘vtable for 常見情況:

            一:預編譯器打開宏Q_OBJECT,聲明若干個由moc處理(implement)的成員函數。如果得到類似于“undefined reference to vtable for LcdNumber”的編譯錯誤(if you get compiler errors along the lines of "undefined reference to vtable for LcdNumber"),你可能是忘記了執行moc,或者忘記了將moc輸出加入到link命令里。  某一個類中如果加入Q_OBJECT后,則link時提示:undefined reference to vtable for "xxx::xxx".刪掉它則沒有任何問題.  解決:嘗試(1):把所有的obj文件和uic文件刪除,重新編譯.仍然失敗.  去trolltech的mail lists找到原因: 因為qmake生成Makefile的時候,這個類的頭文件中并沒有Q_OBJECT,所以在相應的Makefile里面并沒有用moc xxx.h命令,最終導致鏈接失敗.重新運行qmake,問題解決.  在查找解決方法的時候,附帶發現一點:
              qmake 不會處理.cpp文件里的Q_OBJECT,所以,如果在.cpp文件中有它的話,也會產生undefined reference to vtable for "xxx::xxx". 這時,需要先用moc xxxx.cpp生成相應的moc文件,再包含到.cpp里面去,才能解決這個問題.  這里可以發現問題的出現是因為沒有moc生成相應的moc文件,之后連接就出問題。  我找了好多源碼之類的問題,就是沒有找pro的錯誤,后來想到qt中moc我們是有make做的  qt的make編譯是根據Makefile來的,而Makefile是由pro文件來的。這才想到了找pro文件的錯誤。  

            二:undefined reference to vtable for "xxx::xxx"  今天碰到了這個問題。  原因:qmake不會處理.cpp文件里的Q_OBJECT,所以,如果在.cpp文件中有它的話,也會產生undefined reference to vtable for "xxx::xxx". 這時,需要先用moc xxxx.cpp生成相應的moc文件,再包含到.cpp里面去,才能解決這個問題.  其他:
            1.問題: QGLViewer中的函數不能正常link.解決: 翻看其源代碼,發現是因為從源碼安裝libQGLViewer時,編譯用了Qt 3,而我的程序中用Qt4 編譯.所以必須重新用Qt4編譯.但是,更改QTDIR 環境變量為Qt4后,重新編譯的話,qmake生成makefile時就提示出錯.進一步發現,是因為雖然設了QTDIR為Qt4,頭文件和庫文件都會使 用Qt4,但是moc,uic等都是用的qt3版的,再把PATH環境變量改動后,一切ok.  

            2.問題:某一個類中如果加入Q_OBJECT后, 則link時提示:undefined reference to vtable for "xxx::xxx".刪掉它則沒有任何問題.解決:嘗試(1):把所有的obj文件和uic文件刪除,重新編譯.仍然失敗.去trolltech的 mail lists找到原因: 因為qmake生成Makefile的時候,這個類的頭文件中并沒有Q_OBJECT,所以在相應的Makefile里面并沒有用moc xxx.h命令,最終導致鏈接失敗.重新運行qmake,問題解決.在查找解決方法的時候,附帶發現一點:qmake 不會處理.cpp文件里的Q_OBJECT,所以,如果在.cpp文件中有它的話,也會產生undefined reference to vtable for "xxx::xxx". 這時,需要先用moc xxxx.cpp生成相應的moc文件,再包含到.cpp里面去,才能解決這個問題.  

            3. 看Qt的reference發現: 可以connect(pObjA, SIGNAL(someSignalA()),pObjB,SIGNAL(someSignalB()));這樣pObjA發出的someSingalA 會導致pObjB發出someSignalB,從而形成信號接力.

            posted @ 2014-01-24 21:14 未央 閱讀(1170) | 評論 (0)編輯 收藏
             
            為了說明QFileDialog::getOpenFileName()函數的用法,還是先把函數簽名放在這里:
             
            QString QFileDialog::getOpenFileName (
                      QWidget * parent = 0,
                      const QString & caption = QString(),
                      const QString & dir = QString(),
                      const QString & filter = QString(),
                      QString * selectedFilter = 0,
                      Options options = 0 )
             
            第一個參數parent,用于指定父組件。注意,很多Qt組件的構造函數都會有這么一個parent參數,并提供一個默認值0;
             
            第二個參數caption,是對話框的標題;
             
            第三個參數dir,是對話框顯示時默認打開的目錄,"." 代表程序運行目錄,"/" 代表當前盤符的根目錄(Windows,Linux下/就是根目錄了),也可以是平臺相關的,比如"C:\\"等;例如我想打開程序運行目錄下的Data文件夾作為默認打開路徑,這里應該寫成"./Data/",若想有一個默認選中的文件,則在目錄后添加文件名即可:"./Data/teaser.graph"
             
            第四個參數filter,是對話框的后綴名過濾器,比如我們使用"Image Files(*.jpg *.png)"就讓它只能顯示后綴名是jpg或者png的文件。如果需要使用多個過濾器,使用";;"分割,比如"JPEG Files(*.jpg);;PNG Files(*.png)";
             
            第五個參數selectedFilter,是默認選擇的過濾器;
             
            第六個參數options,是對話框的一些參數設定,比如只顯示文件夾等等,它的取值是enum QFileDialog::Option,每個選項可以使用 | 運算組合起來。
             
            如果我要想選擇多個文件怎么辦呢?Qt提供了getOpenFileNames()函數,其返回值是一個QStringList。你可以把它理解成一個只能存放QString的List,也就是STL中的list<string>。
            posted @ 2013-06-04 11:07 未央 閱讀(25834) | 評論 (0)編輯 收藏
             

            源地址: http://blog.renren.com/GetEntry.do?id=901621964&owner=265014936
            美國新澤西州第一位華裔女法官Sue Pai Yang(楊柏斯瑜)來到之江訪問,我也有幸和楊法官一起參加了座談。

                   一個華人,又是一個女人,在美國法律界這個白人以及男性力量主導的領域里,能夠成為一名社會地位頗高的法官,楊法官的事跡令到場的我們感到十分佩服和崇拜。

                   更令人羨慕不已的,是楊法官除了事業成功之外,還擁有一個幸福的家庭。楊法官的家族在美國生活。她本人擔任了十年新澤西州勞工賠償法庭的法官,去年三月剛從職場退休。她的丈夫是羅格斯大學生物學的教授。而她的兩位女兒,都是出色的執業律師。楊法官本人在說話時,更是三句話不離家人。“我的丈夫現在也在浙江省”,“我的兩個女兒最近也開始注重國際交流”,“我的丈夫對于收集茶葉特別有興趣”……脫下法袍,言及自己的家人,楊法官身上那種屬于法官的高高在上的氣場就一掃而光。一身黑色洋裝,和氣親切的她就是一個賢淑的妻子和慈愛的母親。

             

                   作為一個女性,如何能夠兼顧自己的事業和家庭?

                   席間,我問了楊法官這樣一個問題。

                   楊法官沉思良久,有些無可奈何地笑笑說:“這的確是一個很難的問題。女性相比于男性而言,必須要更多地考量家庭。什么時候結婚、什么時候生孩子、生了孩子之后應該如何撫養?這些現實的問題對于女性的職業生涯來說都具有毀滅性的打擊。然而,如何平衡職業和家庭,你可以有不同的選擇。”

             

                   說著,她給我們講述了自己兩個女兒不同的人生路途。

                   “我的兩個女兒的年紀相差一歲,她們從法學院畢業之后,都進入了非常大的律師事務所工作,她們都已經結婚了,但是對于生育后代方面,卻做出了不同的選擇。”

                   “我的大女兒選擇先當一名母親。她在自己的事業上升期懷上了第一個孩子。為了兼顧工作,她成了律所的第一個兼職律師,但是美國的律所工作實在太過繁忙,即便是所謂的‘兼職律師’,也必須承擔每周四十小時以上的工作量。所以大女兒在生第二胎的時候,離開了律師事務所,雖然放棄了她之前在律所所累積的所有資歷和人脈,但是       她擁有了兩個活潑可愛的孩子,每天都生活地熱熱鬧鬧。”

                   “而我的二女兒嫁給了另一名律師,他們互相支持對方,都覺得要先以發展事業為重,所以二女兒一直沒有要孩子,在律所的發展也很好。她作為第二代表律師參與了史上最大的企業性別歧視案,代表150萬名女性員工,狀告零售業巨擘沃爾瑪。現在的她已經被奧巴馬總統提名,出任平等就業機會委員會委員。事業可謂是風生水起。”

                   “在我看來,兩個女兒雖然選擇了兩條不同的路,但是對她們自身來說,都是正確的。二女兒潛心事業,因為她能夠找到一個支持她,并且和她有著一樣價值觀的丈夫,所以她在發展事業的過程中可以沒有后顧之憂。而大女兒,我總是對她說。你現在的事業起步雖然比你的妹妹要晚一些,但是永遠也不會太晚,況且你的生命力多了兩個可愛的小天使陪伴,在你進步的路上,又會有更多的動力和支持。”

             

                   “其實我自己在年輕的時候也遭遇過同樣的困惑。”

                   楊法官向我們講述了自己的奮斗歷史,

                   “在我年輕時的那個年代,社會根本不認為女性需要事業,女性角色只是被賦予了照顧家庭,維持家計等等義務和責任。最適合女性的職業,永遠只有家庭主婦、護士或是教師。我年輕時也沒有想過自己要在事業上有什么建樹,只覺得作為一個女人,服務好家庭就好。所以我在大學里的專業,是家政學,這個專業現在應該都沒有了吧(笑)?”

                   “我進入法學院其實是在我生了兩個女兒之后。當時我已經三十多了,日復一日的主婦生活讓我覺得枯燥乏味,我一直熱衷于參加各種爭取婦女平等地位的運動,但是家庭主婦和全職媽媽的生活卻讓我與理想完全脫節。當我仔細思索了自己的人生和目標之后,我做出了一個決定——我要去讀法學院。這個在常人看來非常難以理解的決定,當時也遭到了許多反對之聲,有的人覺得我作為法學院的學生來說年紀已經太大了,無法和其他年輕人競爭,無法負擔法學院繁重的學業;有的人覺得我不務正業,女人的工作就是應該管好自己的家庭,我拋下自己的丈夫和孩子去讀書,實在是不可理喻。”

                   “我聽到這些反對的聲音,心里也很矛盾。我給我的丈夫打了一個電話,告訴他我想要去讀法學院的這個決定。丈夫很平靜地說,好的,你去讀吧,我來支持你。”楊法官微笑著回憶那時丈夫的支持與鼓勵。

                   “美國的法學院以費用高和學業負擔重聞名。我的丈夫不僅負擔了我的學費,還在我讀書期間,幫助我照料孩子的成長,讓我能夠安心讀完法學院。等到我畢業之后,雖然已經四十歲了,但幸運的是,遇到一名賞識我的法官,將我帶入了法官的職業生涯之中。”

                   “所以,對于想要在職業上有所建樹的女性,我想給你們的建議是:

            work hard, building connects and most of all, getting supports from your family, especially from your husband.”

                   (自身勤奮,建立人脈,最重要的是,獲得家庭特別是來自丈夫的支持。)

             

             

                   衡量一個男性的成功標準比較直接,往往從他的事業成就來說,經商的就看他資產多少,從政的就看他級別高低,學術的就看他研究成果,簡單明晰,客觀直接。

                   但是社會對于女人的評價標準卻復雜而又曖昧。

                   只有家庭的女人,像一個永遠圍繞著丈夫和孩子的影子,面貌模糊,沒有特性。你總是能夠在菜市場里看到她們,四十多歲,頭發蓬亂、臉色暗黃,埋頭討價還價,錙銖必較。

                   只有事業的女人,即使賺再多的錢、有再高的地位,在外人的評價中總是:“她的事業真的做的很好,可是都沒遇上一個好老公,孤苦伶仃的真可憐……”

             

                   只有少數一部分的女人,能夠在事業和家庭之間做到平衡。

                   相信每個人的身邊都有這樣的女性:

                   她們擁有自己的事業,在工作領域中做得專業嚴謹、風生水起;但同時,他們的家庭也會被稱作是“模范家庭”,丈夫體貼孩子聽話,最要命的是,這些女性自身通常都還非常光鮮漂亮,總是有一種優雅而淡定的氣質,讓人不禁感嘆老天把所有的好東西都給了她。

                   她們所獲得的一切:充實的工作、其樂融融的家庭和良好的自身素養,真的只是因為命好嗎?我不以為然。

             

                   我的舅媽一直是我心目中好女人的榜樣。

                   她做醫藥行業多年,在國內同行中一直擁有數一數二的業績,在業務方面從來都是公司的頂梁柱級別的人物。在生活中,她和舅舅的感情也很好,愛黏著舅舅,愛發嗲,我的媽媽經常用杭州話調侃她“千色色”。她自己也愛美,穿衣服不僅挑品牌還要看時尚度,發型總是新潮得體,每周去美容院,出門一定要打粉上淡妝。就連家里的裝潢都顯得非常浪漫有氣質,到處充滿了粉色、水彩畫等等浪漫情懷。我一直很羨慕我的表姐,因為舅媽總是把她當做一個小公主。相比于表姐充滿粉色氣息、堆滿人偶的公主房,我的房間就灰灰土土的,我覺得自己就是一個假小子。

                   舅媽對我非常關心,我也樂于將自己的情感和成長問題向舅媽討教。相比與我媽媽的敦厚質樸,舅媽更像一個聰明的女人,她很有女人味,而且總是能夠在家庭和事業中取得完美的平衡,這令我羨慕不已。

                   即便是事業如此成功,在家里收入最高的舅媽,在我的舅舅面前從來不會因為自己的收入更高而趾高氣昂,相反的,在丈夫面前總是呈現一種小女人的姿態。她最愛說的話是“聽我老公的就好啦。”在家庭中,她很好地運用了自己女性的溫柔和細膩,將丈夫、女兒的生活安排的浪漫而又井井有條。她也很愛自己,從不吝嗇于對自身的投資。她比我媽媽更常帶我出去買衣服,她總是對我說“女孩子一定要穿得漂亮,不然怎么像是女孩子呢?”除了外貌,她還注重自己的內在投資,她最近報名了英語補習班開始學習英語,前幾天她還打電話來告訴我她的英文名字叫Lily。

                   舅媽一直是我們大家族里的核心人物,她為人和善,總是愿意幫助家人解決各種問題,而且還經常組織大家團聚,我們都說舅媽是個好女人,我們都很愛她。

                   但是,我從不認為舅媽現在獲得的一切都是因為“命好”,因為我切切實實地看到了她為了自己的事業和家庭付了多于常人的努力。

             

                   家人們都說,舅媽特別像是臺灣的女明星小s。我想,這不僅僅是因為舅媽留著短發的緣故。小s也一直以銀幕前臺風犀利,銀幕后小鳥依人,執著于保持自己的身材和美麗的好女人形象著稱。這些好女人們,其實都有一些共同的地方,也許這就是她們能夠同時兼顧自己家庭和事業的秘訣:

             

             

                   首先,她們都很擅長于自己身份的轉換。

                   在工作的時候就算再怎么拼搏廝殺、統帥千軍萬馬,在家里的時候,就是一個依賴丈夫的小女人。陰陽有別,自然界從一開始就給了男女不同的分工。作為女性,我們有柔軟的身體和細膩的皮膚,有纖細的感觸和敏感的神經。所謂異性相吸,發掘并且良好運用自己的女性特征,無疑是我們的制勝法寶。在職場上,也許女性必須身著戎裝,用職業化的方式模糊性別,但在家庭中,女性總是要承擔起作為一個溫柔的妻子和慈愛的母親的職責。不把工作帶進生活,也不把生活帶進工作,兩手都抓,兩手都硬。

             

                   其次,家庭和事業大體平衡,但家庭會更加重要一些。

                   由于社會對男女雙方有著不同的評價標準,作為妻子,應該支持自己的丈夫在事業的投入與拼搏,做好大后方。男主外女主內,這是從古流傳至今的分工模式,皇帝在前朝指點江山、維持天下大局,皇后在后宮管理內宮事物,維持皇宮日常的平穩發展。所謂照顧好家庭,不僅僅是指夫妻及子女的小家,還有父母、親人在內的大家庭。女人若是不能夠照顧好自己的公婆父母,不能夠和妯娌伯叔相處和睦,就算在職場上擁有再多的人脈也不能夠說她的情商高。就算事業上再忙再累,自己的家庭和家人總是好女人們關注的第一位。

             

                   第三,愛自己,保持進步的心。

                   一個女人只有愛自己,保持自己的健康美麗,并且讓自己不斷地進步,丈夫才會持續地愛你。在二十幾歲的時候,每一個女孩都有年輕的活力和吹彈可破的肌膚,都是黃金一般的美麗,但是這種美麗是粗糙而又短暫的,如果不加以升級和維護,它就會隨著時間飄散。作為一個女人,保持魅力的方式就如同寫書,內容單調紙質粗糙只會讓人翻了兩頁就不想再讀,而若是故事精彩紛呈,曲折動人,內容精彩,發人深省,使人愛不釋手,這樣的女人,才是一本常年熱銷的好書,她的魅力只會隨著年齡的增加而增加成熟的風韻。

             

                   第四,親自一定要給家人做飯,以及清潔自己的家。

                   天海佑希在《gold》中飾演一位以事業和培育子女的成功而聞名的母親,她在臺詞中說,作為一個母親,做飯和清潔是一定要親力親為的兩件事。一個好媽媽或是一個好妻子的形象,很大一部分是和“暖暖的菜肴”以及“干凈舒適的家”所聯系在一起的。親手給自己所愛的丈夫和孩子做飯,這將會成為他們心中永遠的“家的味道”。同時,也只有一個干凈整潔的家才能讓家人們感覺到溫馨舒適,作為女主人,應該為自己的家庭營造出一種這樣的氛圍。丈夫在外辛勤工作,回到家當然是希望有一杯熱茶可以喝,一個熱水澡可以洗,當然還會期待有自己妻子的理解和笑臉。

             

                   第五,找到一個尊重你,并且支持你夢想的丈夫。

                   愛情總是甜蜜的,青春總是美好的。但是愛情不是生活的全部,“有情飲水飽”也只是空話而已。從長遠考慮,愛情的基礎是有足夠的物質條件,能夠讓兩個人都不為五斗米折腰,能夠追求一些精神層面上的價值提升。社會并沒有期待女性能夠有多少個性和能力,所以女性在追求自己的夢想時,很容易遇到社會上的歧視和障礙,在這個時候,來自家庭的支持就必不可少。一個懂得尊重女性、懂得幫助女性實現她們夢想的男人本身也一定是一個優秀而又包容的人,只有這樣的人,才值得我們去愛,去一生相守。

             

             

                   作為一個女人,雖然在自然界被當做更脆弱的一方,但是我們自己不能將自己的命運完全寄托在男人的身上,要自己修煉,給自己一個足夠強大的靈魂。

             

                   克林頓和希拉里都是耶魯大學畢業的。克林頓知道希拉里的前男友是修理汽車的,在他當選了總統之后,就對希拉里說:“你選擇我是英明的,如果你選擇了他,現在可能還在耶魯修汽車。”希拉里反唇相譏:“如果我當年選擇了他,他早就當總統了,你還不知道在哪兒干什么呢!”克林頓雖然有210的高智商,但若沒有希拉里作為克林頓競選總統時的競選班子里的得力干將,在克林頓的競選之路上的付出和幫助,克林頓也不會有今日之輝煌。希拉里對克林頓來說有著毋庸置疑的影響。

             

                   我從來沒有想過憑著自己這幾年黃金的青春、年輕的身體和容貌就能夠換來一個從天而降的好丈夫。一切都要自己努力,培養自身氣質、努力工作學習、與愛人交流溝通。如果好逸惡勞,那么即使掛了餅在你的脖子上,你也會餓死。相反的,女性應該利用自己二十幾歲的學習黃金時間將自己的能力提升到更高的臺階,養成良好的生活習慣,靜下心來思索自己的人生目標,自信自愛,找到自己的特色。愛自己,那么自然有人來愛你。

             

                   我努力學習外語,讀書看報,走出國門獨立生活、留學體驗,這一切都只是想讓自己成為一個更加成熟、更加沉穩、更加全面的女性。

                   當我洗脫了自己身上的稚氣,我才能夠沉穩淡定地處理隨處可見的挑戰;

                   當我學會照顧自己,我才能夠愛別人;

                   當我自己擁有一個獨立的靈魂,我才能夠獲得我所期冀的,來自愛人的尊重和支持。

                   我努力生活,只有這樣,當我遇到一個好男人的時候,我才能夠理直氣壯地說:

                   I deserve this.

             

                   我不奢望自己成為多么有錢、多么有社會地位的女性。

                   在我眼中,女性的成功無異于兩個字——“平衡”:掌握好家庭與事業的平衡,掌握好愛情與親情友情的平衡,掌握好張弛度,掌握好人生的平衡。

                   我努力做到經濟獨立,這樣才能夠人格獨立;我想在結婚之前給自己買一套房子,這樣就不會因為婚房之類的物質條件影響我的婚姻選擇。

                   我很在意自己的愛好培養,這讓我擁有獨特的個性;我喜歡畫畫、喜歡寫字,即使再忙,我也會每周抽時間來畫畫和寫文章,我看著喜歡的人的照片畫素描,我的文章讓我的朋友們更加了解我的內心。

                   我學著關心、學著欣賞、學著分享,愛別人也是一種需要培養和練習的能力。

                   我努力地做這些,只是堅信,更好的我才能夠配更好的你。

             

                   女孩,在二十幾歲的年紀,誰都是迷茫的,沒有地位、沒有錢、未來也看不清。

                   但是,

                   Seize the opportunity when it comes alone. Cherish your life, your lover.

                   請相信,只要你努力生活,生活就會給你最好的東西。

             

             

            EmilyHUANG

            @ HANGZHOU

            2013.4.16

            posted @ 2013-05-05 15:52 未央 閱讀(348) | 評論 (0)編輯 收藏
             

            轉自:http://www.ctogo.net/313.html
            WOWCode的主體部分基本已經完成了,對于我自己來說,其實已經足以應付我的需要了,不過如果發布的話,實在還是拿不出手,因為很多地方還需要完善,一些對我自己來說多余的功能也沒有完成,今天嘗試將程序移植到了另一臺機子上,卻出現了中文亂碼問題,記錄之。

            也許你在用這個方法實現中文化,但它確實不夠嚴謹

            Laguage» C++ Title» 出現頻率最高的辦法
            1. #include <QTextCodec>  
            2. int main(int argc, char *argv[]) 
            3. {  
            4.            QApplication app(argc, argv);  
            5.            //設置中文開始
            6.            QTextCodec::setCodecForTr(QTextCodec::codecForName(“gb18030″)); 
            7.            //設置中文結束
            8.            return app.exec();  
            9. }  


            很多地方都會告訴你,這樣可以實現QT支持中文,包括我看的教程書上也是,他甚至告訴我要支持中文必須加入這段代碼,但我想告訴你,這個辦法是有問題的,而且這個問題還不小!我在兩臺同樣是XP系統的機子上移植就出現了中文亂碼問題,而且所有中文都是用了tr()的。所以請別迷信那些教程,實踐才是真理!

            你可以嘗試這個方法

            Laguage» C++ Title»
            1. #include <QTextCodec>  
            2. int main(int argc, char *argv[]) 
            3. {  
            4.            QApplication app(argc, argv);  
            5.            //設置中文開始
            6.            QTextCodec *codec = QTextCodec::codecForName(“GB2312″);  
            7.            QTextCodec::setCodecForLocale(codec);  
            8.            QTextCodec::setCodecForCStrings(codec);  
            9.            QTextCodec::setCodecForTr(codec);  
            10.            //設置中文結束
            11.            return app.exec();  
            12. }  

            雖然這個方法看似更為嚴謹,你可以嘗試,不過這么寫還是會有問題,至少沒有解決我的問題。這也是我網上看到的出現頻率也挺高的方法,不過我想說的是:其實這個辦法治標不治本,因為它后面只是對拓寬對中文支持的范圍,而一般我們都建議把中文寫在tr(“”)里。

            推薦個比較保險的辦法

            Laguage» C++ Title» 我推薦的方法
            1. int main(int argc, char *argv[]) 
            2. {
            3.     QApplication a(argc, argv);
            4.     QTextCodec *codec = QTextCodec::codecForName(“System”);    //獲取系統編碼
            5.     QTextCodec::setCodecForLocale(codec);
            6.     QTextCodec::setCodecForCStrings(codec);
            7.     QTextCodec::setCodecForTr(codec);
            8.     return a.exec();
            9. }

            這里獲取了系統字體編碼,解決了我的問題,個人也覺得這個辦法應該是個不錯的解決方案。

            也可能是字體選擇不當造成的亂碼

            如果你始終解決不了亂碼問題,可以嘗試設置下字體,但其實是否是字體造成的亂碼的方法很簡單,如果出現的是一個個方塊,便是字體設置不當,否則,優先考慮編碼設置。

            posted @ 2013-05-03 08:10 未央 閱讀(874) | 評論 (0)編輯 收藏
             
            轉自:http://hi.baidu.com/jzai_cn/item/85d28e11cdc1cbe45e53b16b
            posted @ 2013-04-24 23:17 未央 閱讀(586) | 評論 (0)編輯 收藏
             

            Given an unsorted array of integers, find the length of the longest consecutive elements sequence.

            For example,
            Given [100, 4, 200, 1, 3, 2],
            The longest consecutive elements sequence is [1, 2, 3, 4]. Return its length: 4.

            Your algorithm should run in O(n) complexity.

            題解:
            因為整數的范圍非常大,而且有負數,所以用map來標記和查找元素。
            無序找連續元素,可以從某一已有元素開始,遞增,遞減的查找和它連續的元素是否存在,找過的元素及時從map中刪除。
            本來想用hash_map,但是沒有這個庫。。。所以用了map
            class Solution {
            public:
                
            int longestConsecutive(vector<int> &num) {
                    
            // Start typing your C/C++ solution below
                    
            // DO NOT write int main() function
                    map<intint> hmap;
                    hmap.clear();
                    
            int n = num.size();
                    
            for(int i=0; i<n; i++){
                        hmap.insert(pair
            <intint>(num[i], i));
                    }
                    
            int ans=0, cnt=0;
                    map
            <intint>::iterator it;
                    
            for(int i=0; i<num.size(); i++){
                        
            int cur = num[i];
                        it 
            = hmap.find(num[i]);
                        cnt
            ++;
                        
            if(it!=hmap.end()){
                            map
            <intint>::iterator iter;
                            
            while(1){
                                iter 
            = hmap.find(++cur);
                                
            if(iter==hmap.end())
                                    
            break;
                                cnt
            ++;    
                                hmap.erase(iter);
                            }
                            cur
            =num[i];
                            
            while(1){
                                iter 
            = hmap.find(--cur);
                                
            if(iter==hmap.end())
                                    
            break;
                                cnt
            ++;    
                                hmap.erase(iter);
                            }
                            
            if(ans<cnt)
                                ans 
            = cnt;           
                            cnt
            =0;
                        }
                        cnt
            =0;
                    }
                    
            return ans;
                }
            };
            posted @ 2013-03-19 09:53 未央 閱讀(2594) | 評論 (0)編輯 收藏
             

            Given a string s, partition s such that every substring of the partition is a palindrome.

            Return the minimum cuts needed for a palindrome partitioning of s.

            For example, given s = "aab",
            Return 1 since the palindrome partitioning ["aa","b"] could be produced using 1 cut.

            題解:
            類似矩陣連乘的動歸思路。
            dp[i][j]=min(dp[i][k]+dp[k+1][j]+1), i<=k<j.
            但是用這個方程的時間是O(n^3),簡化dp[i][j]為dp[i],表示從0到i的minCut.
            dp[i]=min(dp[k]+1(s[k+1, i]是回文串, dp[k]+i-k(s[k+1, i]不是回文串)), 0<=k<i.
            這個方法在BOJ上過了,但是在leetcode上面 Judge Large 還是超時。。。
            還沒找到更快的方法。。。路過的人幫解一下吧。。。
            class Solution {
            public:
                
            bool IsPalindrome(string s, int i, int j){
                    
            if(i==j)
                        
            return true;
                    
            while(i<j){
                        
            if(s[i++]!=s[j--])
                            
            return false;
                    }
                    
            return true;
                }
                
            int minCut(string s) {
                    
            // Start typing your C/C++ solution below
                    
            // DO NOT write int main() function
                    int n = s.length();
                    
            if(n==0 || n==1)    
                        
            return 0;
                    vector
            <int> min;
                    
            for(int i=0; i<n; i++)
                        min.push_back(
            0);
                    
            int tmp, ans;
                    
            for(int inter=1; inter<n; inter++){
                        
            if(IsPalindrome(s, 0, inter)){
                            min[inter]
            =0;
                        }
                        
            else{
                            ans 
            = n+1;
                            
            for(int k=0; k<inter; k++){
                                
            if(IsPalindrome(s, k+1, inter))
                                    tmp 
            = min[k]+1;
                                
            else
                                    tmp 
            = min[k]+inter-k;
                                
            if(tmp<ans)
                                    ans 
            = tmp;
                            }
                            min[inter]
            =ans;
                        }
                    }
                    
            return min[n-1];   
                }
            };

            經高人hadn't指點,超時是因為判斷回文串太慢,加上記憶化數組判斷回文串就pass了^-^
            class Solution {
            public:
                vector
            < vector<int> > map;
                
            int IsPalindrome(string &s, int i, int j){
                    
            if(i>j) return false;
                    
            if(map[i][j]!=-1)
                        
            return map[i][j];
                    
            if(i==j){
                        
            return map[i][j] = 1;
                    }
                        
                    
            if(s[i]!=s[j])
                        
            return map[i][j] = 0;
                    
            else{
                        
            if(j-i==1)
                            
            return map[i][j] = 1;
                        
            else
                            
            return map[i][j] = IsPalindrome(s, i+1, j-1);
                    }
                        
                    
                }
                
            int minCut(string s) {
                    
            // Start typing your C/C++ solution below
                    
            // DO NOT write int main() function
                    int n = s.length();
                    
            if(n==0 || n==1)    
                        
            return 0;
                    vector
            <int> min, vtmp;
                    
                    min.clear(); vtmp.clear(); map.clear();
                    
            for(int i=0; i<n; i++){
                        min.push_back(
            0);
                        vtmp.push_back(
            -1);
                    }
                    
            for(int i=0; i<n; i++)
                        map.push_back(vtmp);
                        
                    
            int tmp, ans;
                    
            for(int inter=1; inter<n; inter++){
                        
            if(IsPalindrome(s, 0, inter)){
                            min[inter]
            =0;
                        }
                        
            else{
                            ans 
            = n+1;
                            
            for(int k=0; k<inter; k++){
                                
            if(IsPalindrome(s, k+1, inter))
                                    tmp 
            = min[k]+1;
                                
            else
                                    tmp 
            = min[k]+inter-k;
                                
            if(tmp<ans)
                                    ans 
            = tmp;
                            }
                            min[inter]
            =ans;
                        }
                    }
                    
            return min[n-1];   
                }
            };
            posted @ 2013-03-18 23:05 未央 閱讀(3722) | 評論 (1)編輯 收藏
            僅列出標題
            共8頁: 1 2 3 4 5 6 7 8 
            CALENDER
            <2013年5月>
            2829301234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            常用鏈接

            留言簿(6)

            隨筆檔案

            文章檔案

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜


            Powered By: 博客園
            模板提供滬江博客

            精品久久久久久中文字幕| 久久久久久久精品妇女99| 欧美久久精品一级c片片| 久久综合精品国产二区无码| 久久婷婷是五月综合色狠狠| 色综合久久最新中文字幕| 乱亲女H秽乱长久久久| 亚洲中文字幕无码久久综合网| 久久影院综合精品| 久久狠狠爱亚洲综合影院| 久久精品卫校国产小美女| 18岁日韩内射颜射午夜久久成人| 色播久久人人爽人人爽人人片aV | 久久国产精品99精品国产| 久久久久久免费一区二区三区| 狠狠色丁香久久婷婷综合五月| 国产精品嫩草影院久久| 亚洲国产小视频精品久久久三级| 亚洲人成网站999久久久综合 | 久久夜色精品国产亚洲av| 久久综合久久伊人| 香港aa三级久久三级老师2021国产三级精品三级在 | 国产精品狼人久久久久影院| 国产成人精品久久一区二区三区av| 欧美777精品久久久久网| 久久精品国产亚洲av瑜伽| 亚洲精品国产美女久久久| 国产一级做a爰片久久毛片| 日本三级久久网| 亚洲精品tv久久久久久久久久| 久久精品国产亚洲AV影院| 99久久久精品| 色偷偷偷久久伊人大杳蕉| 奇米影视7777久久精品人人爽| 亚洲中文精品久久久久久不卡| 久久亚洲中文字幕精品有坂深雪| 成人亚洲欧美久久久久| 中文字幕无码久久久| 精品久久人妻av中文字幕| 亚洲?V乱码久久精品蜜桃| 久久精品国产99久久久|