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

            清風(fēng)竹林

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

            共2頁(yè): 1 2 
            @Kevin Lynx
            這個(gè)問(wèn)題后來(lái)我試過(guò),在我的項(xiàng)目里( 前面提到的,使用了VC6),問(wèn)題出在使用singleton生成單個(gè)factory對(duì)象的地方。如果將factory的構(gòu)造函數(shù)設(shè)計(jì)為private,同時(shí)提供一個(gè)類get_instance()的public static方法,會(huì)產(chǎn)生多個(gè)factory實(shí)例。具體表現(xiàn)就是,register()函數(shù)的確執(zhí)行了, 但是所有的注冊(cè)內(nèi)容都注冊(cè)到了第一個(gè)factory對(duì)象身上,等到運(yùn)行期使用create方法的時(shí)候,使用的卻是后面新生成的factory對(duì)象,因此會(huì)發(fā)生沒(méi)有注冊(cè)過(guò)的假象。

            解決方法為:將factory()構(gòu)造函數(shù)聲明為public,在factory類外面定義一個(gè)singleton函數(shù),并一直使用這個(gè)函數(shù)進(jìn)行注冊(cè)與創(chuàng)建。但這種方法的缺點(diǎn)是你無(wú)法從語(yǔ)法上確保所有用戶使用的都是這個(gè)singleton對(duì)象。

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

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

            :) 跟vc6不能說(shuō)關(guān)系大, 也不能說(shuō)沒(méi)有關(guān)系。但就本篇所表達(dá)的思想講,您可以認(rèn)為是獨(dú)立于vc6的

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

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

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

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

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

            感謝回復(fù),不忙的時(shí)候研究一下。
            re: C++通用刪除器設(shè)計(jì) 李現(xiàn)民 2010-11-16 11:16
            @空明流轉(zhuǎn)
            我所指的“不穩(wěn)定”是指boost一直在開發(fā),里面有長(zhǎng)期積累下來(lái)的庫(kù),也有新加入的庫(kù),只是加入到項(xiàng)目中,新庫(kù)在未證明其穩(wěn)定性之前也有可能被使用,而這可能導(dǎo)致一些問(wèn)題。

            另外, 你說(shuō)得對(duì),相比于資源的分配與回收,shared_ptr的開銷是可以忽略的,但我們的系統(tǒng)中現(xiàn)在還沒(méi)有這樣的機(jī)制,而且我說(shuō)過(guò)了,真正的原因是我尚未發(fā)現(xiàn)讓我不得不用它的理由。

            最后, 我其實(shí)是很贊同使用RAII的,實(shí)際上,我們已經(jīng)在陸續(xù)使用它了。

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

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

            把sqrt(N)拿到外面那個(gè), 你不覺(jué)得你的代碼中每次循環(huán)sqrt(N)都會(huì)調(diào)用一遍嘛?當(dāng)然, 現(xiàn)代編譯器的話,這種簡(jiǎn)單的調(diào)用可以被優(yōu)化掉,但作為碼農(nóng), 你不應(yīng)該寫成這樣
            re: 素?cái)?shù)查找 李現(xiàn)民 2010-09-28 19:04
            不要使用using namespace std; 因?yàn)閟td命名空間里的東西全是一些常見的名字, 像string, vector, list等等,直接使用std::string,以防止重名

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

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

            for(i=2;i<=sqrt(N);i++)---請(qǐng)把sqrt(N)拿到循環(huán)外面來(lái)

            看你寫代碼的樣子,應(yīng)該是vc6吧,把int i,j;放后面點(diǎn)吧,不過(guò)在在未使用的地方就定義變量,比如int j完全可以放到循環(huán)內(nèi)部定義
            re: 接口,虛函數(shù)及純虛函數(shù) 李現(xiàn)民 2010-09-28 18:44
            分得太細(xì)反而著了相, 不要太看重語(yǔ)法上的區(qū)別,這些東西都是基于應(yīng)用而衍生的,多研究一些設(shè)計(jì)的東西, 比仔細(xì)區(qū)分這些語(yǔ)法概念要合算
            re: 這是個(gè)很狡猾的bug。 李現(xiàn)民 2010-03-09 10:09
            -__-看不出來(lái)
            @金慶
            不好使
            我想應(yīng)該是這個(gè)問(wèn)題:
            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:)中直接使用你定義的那個(gè)變量名”,因?yàn)閏++編譯時(shí)會(huì)將其改為??_C@_0BC@OFGGEBAJ@fxAttributeEditor?$AA@這樣的的形式。

            我不知道是不是真的這樣, 但我的實(shí)驗(yàn)結(jié)果是找不到我自己定義的變量名
            我以前也試過(guò)這樣的方法, 項(xiàng)目用的是vc6,只debug版本下對(duì)象是可以生生的,release版本中就被人優(yōu)化掉了,沒(méi)有找到保持這種級(jí)別低耦合度的替代方案。
            到現(xiàn)在為止, 我寫的那個(gè)factory類再也沒(méi)有用過(guò),因?yàn)榭床坏絻?yōu)勢(shì)在哪里, 還不如現(xiàn)寫一個(gè)工廠來(lái)得清晰
            @xu
            提供功能性接口,去完成有意義的操作,盡可能的不要暴露數(shù)據(jù)成員
            re: IM在線查看器 軟件下載 李現(xiàn)民 2009-11-16 10:06
            厲害, 這都行
            re: 微軟的面試題 李現(xiàn)民 2009-09-21 09:28
            這種題只能拿來(lái)隨便練練, 每個(gè)面試官都會(huì)出自己的題
            @free2000fly
            這個(gè)是單播的、面向編譯器的
            @foxriver
            呀,意外之喜,同樣謝謝你,哈哈
            @guest
            好, 謝啦
            @OwnWaterloo
            不過(guò)你說(shuō)的那三種語(yǔ)法中的第三種,VC6肯定支持,呵呵,現(xiàn)在正在向第二種努力
            @OwnWaterloo
            恐怕暫時(shí)不會(huì)去試boost了,其實(shí)我到想,但公司明確禁止在項(xiàng)目中使用boost。我曾經(jīng)試過(guò),被上司否定了
            @陳梓瀚(vczh)
            我也不想用啊,但我只是個(gè)兵啊,這不是沒(méi)有辦法么,呵呵
            共2頁(yè): 1 2 
            一本色道久久88综合日韩精品| 久久国产亚洲精品| 精品综合久久久久久97超人| 国内精品久久久久影院日本 | 久久AV高清无码| 精品久久人人妻人人做精品| 中文字幕无码久久精品青草| 久久精品成人欧美大片| 一本久久久久久久| 久久久久久国产精品无码下载| 成人免费网站久久久| 欧美与黑人午夜性猛交久久久| 好久久免费视频高清| 亚洲精品WWW久久久久久| 99久久99这里只有免费费精品| 亚洲国产成人久久综合区| 国产精品久久久久久影院 | 国产精品va久久久久久久| 精品久久久久久无码不卡| 国产精品欧美亚洲韩国日本久久| 97久久国产综合精品女不卡| 久久精品不卡| 精品久久久久久国产牛牛app| 91精品国产综合久久精品| 亚洲精品tv久久久久久久久| 一级女性全黄久久生活片免费| 久久精品亚洲乱码伦伦中文| 狠狠色噜噜狠狠狠狠狠色综合久久| 亚洲色婷婷综合久久| 青春久久| 久久精品卫校国产小美女| 亚洲天堂久久久| 一日本道伊人久久综合影| 亚洲人成网站999久久久综合 | 久久久久免费精品国产| 色偷偷88欧美精品久久久| 久久久受www免费人成| 久久久久国产一区二区| 三级片免费观看久久| 久久只有这精品99| 日韩人妻无码精品久久免费一 |