• <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>

            清風竹林

            ぷ雪飄絳梅映殘紅
               ぷ花舞霜飛映蒼松
                 ----- Do more,suffer less

            共2頁: 1 2 
            @Kevin Lynx
            這個問題后來我試過,在我的項目里( 前面提到的,使用了VC6),問題出在使用singleton生成單個factory對象的地方。如果將factory的構造函數設計為private,同時提供一個類get_instance()的public static方法,會產生多個factory實例。具體表現就是,register()函數的確執行了, 但是所有的注冊內容都注冊到了第一個factory對象身上,等到運行期使用create方法的時候,使用的卻是后面新生成的factory對象,因此會發生沒有注冊過的假象。

            解決方法為:將factory()構造函數聲明為public,在factory類外面定義一個singleton函數,并一直使用這個函數進行注冊與創建。但這種方法的缺點是你無法從語法上確保所有用戶使用的都是這個singleton對象。

            懷疑為VC6的bug,不過由于已經基本滿足了需要,未繼續深究。
            re: string 轉 char* c++ 李現民 2011-06-09 17:56
            你可以用&sname[0], 如果覺得不安全可以用strdup(sname.c_str()), 會返回一個copy
            @oldman
            對, 無法區分跨多行的/**/注釋的后面部分
            re: Python Challenge lv5: peak hell 李現民 2011-06-04 11:57
            @simon
            不,其實這個不容易看出來, 是因為網頁的名字叫peak.html,peak與pickle諧音,很扯的理由, 哈哈
            @萬連文
            哈哈, 現在哪高就呢?
            兄弟你是完美的吧? 這個框架我在內部bbs上見過, 但rtx上怎么沒有你的名字呢?
            @simon
            你去看一個網頁的源代碼,里面有一個鏈接, 你點一下會出現 and the next nothing is 92512, 替換Url里linkedlist.php?nothing=12345中的12345,然后再回車, 你就會發現規律了
            re: std::string is contiguous (轉) 李現民 2011-05-27 10:45
            @oldman
            &str[0]的數據是可以修改的, 而str.data()的數據不能修改
            re: 最近筆試面試集錦(c/c++) 李現民 2011-05-06 12:24
            判斷是否為奇偶數可以用(a&1), 取最后一位,是0則為偶數,是1則是奇數
            re: 一道C++面試題的誤區 李現民 2011-05-06 12:19
            自己試了一把, 還真是這樣, 真悲劇啊
            switch語句被匯編翻譯的結果與case的長度及數值規律有密切關系,并不是簡單的翻譯成跳轉表, 同時與編譯器的優化能力也有關。

            你可以看一下這篇文章:
            http://www.shnenglu.com/besterChen/archive/2009/12/07/102682.html
            re: C/C++:偷懶的qsort and bsearch 李現民 2010-12-18 09:22
            沒看出來“偷懶的”三個字的含義是什么
            @right

            :) 跟vc6不能說關系大, 也不能說沒有關系。但就本篇所表達的思想講,您可以認為是獨立于vc6的

            寶貴意見,非常感謝!
            re: 編程習慣(2) 李現民 2010-12-07 21:10
            代碼是簡潔了, 但閱讀起來更費神了。為什么要寫成這樣呢? 生成的匯編代碼應該是一樣的
            re: C++多態技術[轉貼] 李現民 2010-12-07 10:49
            文章很好, 我也保留一份, 嘿嘿
            re: bash 常用東東 李現民 2010-12-04 17:30
            留名,學習
            @oldman
            對您提出的意見表示感謝
            但是, 這文章是轉csdn上的一篇帖子,帖子的地址您可以在文章的最開始處看到,基于尊重原創的想法,我覺得還是不要去修改的好。
            再次表示感謝!
            re: const靈異現象 李現民 2010-11-25 09:25
            @fool
            支持你一下, 哈哈
            觀察者模式應用起來的確有些復雜,也許你可以考慮仿寫一個c#的delegate,這樣的話可以支持多播, 而且編程實現上要簡單不少。

            re: c++編程習慣(1) 李現民 2010-11-23 22:11
            A arr[10]={0}; 的生成匯編中就調用了memeset,但前者比后者還多了一個賦值,因此還要稍慢一點 :D
            re: const靈異現象 李現民 2010-11-23 18:20
            @classyk
            我的理解:volatile const其實是變量可以不可預期的被程序以外的環境所改變,而對于相同的一段程序內部而言,這樣聲明并不能使你有更好的方式可以修改此變量的值
            re: const靈異現象 李現民 2010-11-23 18:16
            @vincent
            在默認情況下,其實不是這樣的。
            const 修飾內置數據類型時,比如const int a= 10; 則a是一個編譯期常量,因此你可以進一步定義int b[a]= {0}; 在編譯意味著它沒有內存地址(這是一個運行期的概念),因此并不存在放置于只讀數據段的現象。

            只所以說是“默認情況”,是因此在更復雜的情況下const常量對象是需要分配內存的,比如說文章中出現的取其地址的時候,再比如定義更加復雜的集合對象的時候。
            re: const靈異現象 李現民 2010-11-22 19:37
            @冬瓜
            可不僅僅是這樣的,對于修飾為const的變量,編譯器可能會去做一些處理,表現在有無const,最終生成的匯編代碼很可能是不同的
            re: const靈異現象 李現民 2010-11-22 15:40
            @airtrack
            受教了, 呵呵, 第一次聽說這個詞, 謝謝
            這個對比非常好, 呵呵
            re: C/C++: memcpy()血淚史 李現民 2010-11-21 13:09
            @陳梓瀚(vczh)
            這是為什么? 好像stlport中std::string的operator= 就是用memcpy實現的吧
            re: C++中實現委托(Delegate) 李現民 2010-11-21 11:57
            fastdelegate, 前兩天還真看見公司的一個項目上用到它了, 看實現應該很快,不過可惜的是不支持多播
            re: C++通用刪除器設計 李現民 2010-11-17 19:42
            @星綻紫輝
            呵呵, 受教了
            re: C++通用刪除器設計 李現民 2010-11-17 17:58
            @冬瓜
            是這樣的, 大家覺得如果直接用shared_ptr的話就沒有必要寫一個delete_null函數了
            re: C++通用刪除器設計 李現民 2010-11-17 10:40
            @Jeff
            沒有, 非常歡迎你的評論。大家的回復讓我想了很多,這些都是非常意外而重要的收獲。

            其實, 最直接的問題是:我沒有權利在項目中引入一個像boost 這樣大的庫,因此這不但限制了應用,也限制了我的眼界。
            re: C++通用刪除器設計 李現民 2010-11-17 10:36
            @陳梓瀚(vczh)
            看了這么多回復, 如果我沒想錯的話,是不是大家都推崇使用shared_ptr替代原始對象指針?如果多數人都這認為的話,那肯定是有道理的。如你所言,看來有時間我得去仔細研究一下shared_ptr了。

            我現在能想到的問題是,假如我自己寫了一個shared_ptr加入到了舊的項目中,那么所有其它使用該對象的地方(包括參數)是否都必須帶著shared_ptr<T>的聲明呢?

            感謝回復,不忙的時候研究一下。
            re: C++通用刪除器設計 李現民 2010-11-16 11:16
            @空明流轉
            我所指的“不穩定”是指boost一直在開發,里面有長期積累下來的庫,也有新加入的庫,只是加入到項目中,新庫在未證明其穩定性之前也有可能被使用,而這可能導致一些問題。

            另外, 你說得對,相比于資源的分配與回收,shared_ptr的開銷是可以忽略的,但我們的系統中現在還沒有這樣的機制,而且我說過了,真正的原因是我尚未發現讓我不得不用它的理由。

            最后, 我其實是很贊同使用RAII的,實際上,我們已經在陸續使用它了。

            感謝回復!
            re: C++通用刪除器設計 李現民 2010-11-16 09:18
            @Jeff
            唉, 這批評還真犀利呀!
            1. 不直接使用boost中的智能指針最直接的原因是boost不穩定,而且并不是boost中的所有特性都對項目有幫助的。你可能會問為什么我不自己實現一個,一個類似于shared_ptr的東西,除了那一點性能損失外,真正的原因是我還沒有發現讓我不得不用的理由。而且,項目中有很多地方是不能直接調用析構函數的,而是需要單獨寫一個Destroy的函數,因為時機。
            2. 關于異常安全,我想,如果析構函數本身是異常安全的話,那么我的代碼本身應該算異常安全了吧?反之,如果析構函數本身不安全的話,那無論采用什么方法析構都是有問題的。

            如果我的想法有什么問題的話,請不吝指正,非常感謝。
            re: Vim操作技巧札記(一) 李現民 2010-11-08 09:33
            直接輸入行號按下G就可以跳轉到指定行
            re: Switch結構學習筆記 李現民 2010-11-03 10:56
            好文章, 非常細致
            re: 素數查找 李現民 2010-09-29 10:14
            memset是一種高效的數組初始化方式,它本身是用匯編寫的,vc下應該是位于memset.asm中,當你使用部分初始化時, 比如int a[100]={0}, 你會看到它的匯編代碼其實用的就是memset。

            把sqrt(N)拿到外面那個, 你不覺得你的代碼中每次循環sqrt(N)都會調用一遍嘛?當然, 現代編譯器的話,這種簡單的調用可以被優化掉,但作為碼農, 你不應該寫成這樣
            re: 素數查找 李現民 2010-09-28 19:04
            不要使用using namespace std; 因為std命名空間里的東西全是一些常見的名字, 像string, vector, list等等,直接使用std::string,以防止重名

            #define N 100可以使用const常量代替(并且,盡量放到一個空的namespace下),否則你需要定義成#define N (100),加括號,這是常識

            prim[i]=true;的那個循環可以改成memset(&prim, 1, sizeof prim)

            for(i=2;i<=sqrt(N);i++)---請把sqrt(N)拿到循環外面來

            看你寫代碼的樣子,應該是vc6吧,把int i,j;放后面點吧,不過在在未使用的地方就定義變量,比如int j完全可以放到循環內部定義
            re: 接口,虛函數及純虛函數 李現民 2010-09-28 18:44
            分得太細反而著了相, 不要太看重語法上的區別,這些東西都是基于應用而衍生的,多研究一些設計的東西, 比仔細區分這些語法概念要合算
            re: 這是個很狡猾的bug。 李現民 2010-03-09 10:09
            -__-看不出來
            @金慶
            不好使
            我想應該是這個問題:
            Only problem is that the symbol is not very...simple. I have a class called fxAttributeEditor, but you can't just do /include:fxAttributeEditor. The symbol is actually:

            ??_C@_0BC@OFGGEBAJ@fxAttributeEditor?$AA@

            And that does work, but having to add that seems like a terrible coding decision. It seems like going the dynamic library route would be far better. I've had a variety of really good reasons for not wanting to do that. I'm not against DLLs, but in some cases (like mine) I don't believe it's the best choice. Is there not any better way to go about this?

            Thanks,

            這是引用原文, 大概意思是“不能夠在#pragma comment(linker, /include:)中直接使用你定義的那個變量名”,因為c++編譯時會將其改為??_C@_0BC@OFGGEBAJ@fxAttributeEditor?$AA@這樣的的形式。

            我不知道是不是真的這樣, 但我的實驗結果是找不到我自己定義的變量名
            我以前也試過這樣的方法, 項目用的是vc6,只debug版本下對象是可以生生的,release版本中就被人優化掉了,沒有找到保持這種級別低耦合度的替代方案。
            到現在為止, 我寫的那個factory類再也沒有用過,因為看不到優勢在哪里, 還不如現寫一個工廠來得清晰
            @xu
            提供功能性接口,去完成有意義的操作,盡可能的不要暴露數據成員
            re: IM在線查看器 軟件下載 李現民 2009-11-16 10:06
            厲害, 這都行
            re: 微軟的面試題 李現民 2009-09-21 09:28
            這種題只能拿來隨便練練, 每個面試官都會出自己的題
            re: VC6中的簡易delegate實現 李現民 2009-09-07 09:20
            @free2000fly
            這個是單播的、面向編譯器的
            re: VC6中的簡易delegate實現 李現民 2009-09-02 17:39
            @foxriver
            呀,意外之喜,同樣謝謝你,哈哈
            @guest
            好, 謝啦
            re: VC6中的簡易delegate實現 李現民 2009-09-01 21:07
            @OwnWaterloo
            不過你說的那三種語法中的第三種,VC6肯定支持,呵呵,現在正在向第二種努力
            re: VC6中的簡易delegate實現 李現民 2009-09-01 21:05
            @OwnWaterloo
            恐怕暫時不會去試boost了,其實我到想,但公司明確禁止在項目中使用boost。我曾經試過,被上司否定了
            re: VC6中的簡易delegate實現 李現民 2009-09-01 21:03
            @陳梓瀚(vczh)
            我也不想用啊,但我只是個兵啊,這不是沒有辦法么,呵呵
            共2頁: 1 2 
            久久久久亚洲AV无码麻豆| 亚洲欧美一区二区三区久久| 亚洲国产另类久久久精品黑人| 久久精品嫩草影院| 久久只有这里有精品4| 精品无码久久久久国产动漫3d| 亚洲人成精品久久久久| 精品久久久久久中文字幕| 91性高湖久久久久| 国产成人精品白浆久久69| 国内精品久久久久久久久电影网 | 久久久久国产一区二区三区| 久久久久国产精品嫩草影院| 国产叼嘿久久精品久久| 亚洲午夜久久久久久噜噜噜| 国产精品成人精品久久久| 久久青青草原亚洲av无码app| 国产亚州精品女人久久久久久| 国产精品99久久久久久宅男小说| 国产成人精品久久| 狠狠色伊人久久精品综合网| 国内精品久久久久久久久| 久久精品草草草| 久久久久久亚洲精品无码| 国产 亚洲 欧美 另类 久久| 国产精品午夜久久| 2021国产精品午夜久久 | jizzjizz国产精品久久| 久久久久久精品免费免费自慰| 久久久久久亚洲精品影院| 久久久久亚洲av成人网人人软件| 狠狠色综合网站久久久久久久高清 | 久久无码人妻一区二区三区| 国产aⅴ激情无码久久| 97精品国产91久久久久久| 久久777国产线看观看精品| 国产成人无码精品久久久免费 | 久久精品国产精品亚洲精品| 亚洲AV无码久久精品成人| 久久国产精品免费一区| 国产精品久久成人影院|