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

            LIST

            list

              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              1 隨筆 :: 0 文章 :: 1 評(píng)論 :: 0 Trackbacks
            舍棄精華,擁抱糟粕,閑得蛋疼啊!通讀博文和評(píng)論得出的結(jié)論是堅(jiān)定不移地使用大師經(jīng)典sprintf!
            哇,這效果真炫!!
            第二種求串的函數(shù)有錯(cuò) 下面的語(yǔ)句
            if(k!= -1 && pattern[k]!= pattern[j] )

            應(yīng)該改為
            while(k!= -1 && pattern[k]!= pattern[j] )

            樓主可以試試
            abdabaabdabbe這個(gè)數(shù)據(jù) 第一種串函數(shù)的才是正確的
            當(dāng)有兩個(gè)holes的時(shí)候,填充還是會(huì)有錯(cuò)誤,呵呵
            看了你的Demo,非常好啊,請(qǐng)教下用的是那個(gè)算法啊,謝謝,tom.cat@163.com
            干嘛要用綠色的背景啊,眼睛都看花了。哎。
            re: C++雜談[未登錄](méi) tom 2011-07-12 12:13
            @pangzi
            "auto_ptr<int*>,細(xì)節(jié)是魔鬼"
            You are the best!
            - construct a set S
            - for each element in vector
            insert it into S
            if fails, remove element
            為什么不調(diào)用C Runtime比如itoa()之類(lèi),然后對(duì)字符串進(jìn)行操作?
            @樓主,
            我說(shuō)的就是這個(gè)意思,除非有中國(guó)人在C++ committee 里推動(dòng),這個(gè)事情的優(yōu)先級(jí)不會(huì)太高。所以在c++03的基礎(chǔ)上支持UNICODE還會(huì)是較長(zhǎng)時(shí)間里的現(xiàn)實(shí)。
            這也是我前面的建議的前提。
            @空明流轉(zhuǎn), Windows不UCS已經(jīng)很多年了。
            See here:
            “UTF-16 is used for the native internal representation of text in Microsoft Windows 2000/XP/2003/Vista/CE.[7]”

            Cited from http://en.wikipedia.org/wiki/UTF-16/UCS-2.

            @陳良喬
            新標(biāo)準(zhǔn)C++11已經(jīng)開(kāi)始從標(biāo)準(zhǔn)的層面對(duì)unicode提供的支持,還是紙面上的,無(wú)論GCC還是VC++都還沒(méi)實(shí)現(xiàn),Clang不清楚。在可以預(yù)見(jiàn)的的將來(lái)這不是優(yōu)先工作,畢竟這玩意兒涉及到某種“種族歧視”(不記得哪篇UNICODE的介紹文章里提到過(guò)):說(shuō)英語(yǔ)的人對(duì)UNICODE的需求遠(yuǎn)小于我們。更現(xiàn)實(shí)的情況是:現(xiàn)有的API不可能用C++1x改寫(xiě),我們還得跟這些legacy code交互多年。

            再說(shuō)一句,這本是算是一本真正的關(guān)于C++書(shū),希望這種書(shū)越來(lái)越多。
            買(mǎi)了一本捧場(chǎng),作為國(guó)內(nèi)原創(chuàng),值得鼓勵(lì),很值得鼓勵(lì)。而且內(nèi)容與時(shí)俱進(jìn)。

            說(shuō)說(shuō)缺點(diǎn)。類(lèi)似
            cout << "中文內(nèi)容";
            應(yīng)該寫(xiě)成
            wcout << L"中文內(nèi)容";
            這對(duì)于我們中文使用者才是正確的做法。包括basic_string<T>在內(nèi),都應(yīng)該鼓勵(lì)采用wchar_t形式。今天的世界,任何字符串信息都應(yīng)該采用UNICODE.

            在c++標(biāo)準(zhǔn)支持unicode之前,wchar_t是Windows平臺(tái)上最近似默認(rèn)的UTF-16的做法,不僅提高效率(因?yàn)椴豁氃趦?nèi)部再轉(zhuǎn)換),更重要的,減少字符串相關(guān)算法的潛在錯(cuò)誤。

            Unix上UTF-8流行,另說(shuō)。

            考慮到此書(shū)提到ppl,側(cè)重Windows平臺(tái)。應(yīng)當(dāng)提倡正確的編碼風(fēng)格,尤其對(duì)非英文軟件編寫(xiě)的程序員。
            單元的定義是可以因人因系統(tǒng)而異的。一個(gè)全新的應(yīng)用,當(dāng)然可以以函數(shù)或類(lèi)位單元。對(duì)于舊系統(tǒng)以一個(gè)易于定義的,穩(wěn)定的功能單元來(lái)作為基本單位測(cè)試,先把他框住。有必要再深入撕扯重構(gòu),未嘗不可。

            在我看來(lái),單元測(cè)試最大的意義在于為以后的更改做準(zhǔn)備,最大限度保證功能是遞增的,不會(huì)在引入新功能的情況下意外犧牲已有的功能。

            不過(guò)我一般用Boost.Test。
            采用16進(jìn)制傳輸?shù)臅r(shí)候,解包成ascii A0變成20???B0變成30?
            1. XP以后的平臺(tái)(含XP)COM是可以免注冊(cè)的,Win7等微軟自己新寫(xiě)的COM很多就采用這種方式了,基本原理就是自帶干糧,manifest file.
            2. 跨編譯器的導(dǎo)出C++ class的方式,一般是DLL采用Singleton模式編寫(xiě),導(dǎo)出C指針。Codeproject上有一篇文章講這個(gè) (http://www.codeproject.com/KB/cpp/howto_export_cpp_classes.aspx)
            3.如果有興趣或者是沒(méi)興趣(只想用用)可以看看boost.extension.注意這個(gè)還不是標(biāo)準(zhǔn)的boost庫(kù)成員。也沒(méi)被提交review過(guò)。
            @空明流轉(zhuǎn),
            我可沒(méi)冒犯樓主的意思,聞道有先后而已。
            tokenizer<>是按string的traits來(lái)分割的,也就是說(shuō)“隱含的意思“是只能用來(lái)分割用ISO/IEC 8859-1字符集的,中文如"貓 狗 豬"肯定不是。

            所以你要么用支持特定編碼的第三方庫(kù)(utf-cpp),這樣來(lái)增加string的編碼支持功能;要么用wstring達(dá)到理論上不完備,但現(xiàn)實(shí)上不大可能出錯(cuò)的效果(限于Windows). C++的basic_string<CharT>是不包含任何編碼功能的,也就談不上對(duì)文本的語(yǔ)義斷開(kāi)了。所以你的看到的結(jié)果其實(shí)是C++意義上正確的,而在中文語(yǔ)義上錯(cuò)誤了。因此是你誤用工具,不是boost庫(kù)或C++語(yǔ)言的錯(cuò)。

            關(guān)鍵的知識(shí)點(diǎn)在于,任何文本一定是有編碼的,每次你用到文本,你總是接受了某種隱含的假設(shè),只是你可能沒(méi)意識(shí)到。除非你只寫(xiě)英文版軟件,你可以假裝編碼不存在。

            你的例子剛好說(shuō)明,你必須要掌握的編碼的相關(guān)知識(shí)。
            你的使用方法是錯(cuò)誤的.應(yīng)該使用wstring, 與 L"貓 狗 豬". 建議學(xué)習(xí)一下有關(guān)UNICODE等編碼相關(guān)知識(shí),以及C++的相關(guān)支持方式。基本上,除非你的母語(yǔ)是English也只給English people寫(xiě)程序,encoding相關(guān)的知識(shí)是繞不開(kāi)的,早晚要掌握。
            試過(guò)std::bitset沒(méi)?可以用int直接構(gòu)造,再循環(huán)調(diào)用std::bitset::test()測(cè)試每一位就齊活。
            memory 就一數(shù)組啊
            用BOOST_FOREACH更好點(diǎn),使用的是ISO標(biāo)準(zhǔn)C++。VC那是CLI擴(kuò)展,非ISO標(biāo)準(zhǔn).
            memory alignment@路人甲
            我想買(mǎi),加我qq,你們?nèi)簼M了64031410
            Did you try boost.filesystem? It providesa convenient directory iterator(as easy as like walk() in python) and supports wide characters well
            學(xué)習(xí)到了一些,多謝~~~
            韩国免费A级毛片久久| 中文字幕一区二区三区久久网站| 久久人人爽人人爽人人片AV麻豆| 久久国内免费视频| 国产亚洲精品自在久久| 久久久久国产一级毛片高清板 | 国产精品欧美久久久久无广告 | 欧美久久久久久午夜精品| 亚洲伊人久久综合中文成人网| 久久精品国产亚洲AV麻豆网站| 国内精品久久久久久麻豆| 麻豆AV一区二区三区久久 | 久久婷婷色综合一区二区| 国产精品岛国久久久久| 人人妻久久人人澡人人爽人人精品| 国产精品久久久久9999| 国内高清久久久久久| 久久久久亚洲精品中文字幕| 国产日产久久高清欧美一区| 久久婷婷人人澡人人爽人人爱| 久久99精品久久久久久秒播| 99久久免费国产特黄| 久久中文字幕人妻丝袜| 日本久久中文字幕| 国产精品午夜久久| 91精品婷婷国产综合久久| 久久国产色AV免费看| 亚洲熟妇无码另类久久久| 伊人久久大香线蕉综合网站| 久久精品免费大片国产大片| 亚洲国产精品久久久久久| 九九精品99久久久香蕉| 人妻无码中文久久久久专区| 一本一本久久aa综合精品| 欧美精品乱码99久久蜜桃| 欧美一区二区久久精品| 久久精品亚洲欧美日韩久久 | 国产V综合V亚洲欧美久久| 亚洲国产精品无码久久久秋霞2| 99久久精品免费看国产一区二区三区| 国产精品一区二区久久精品涩爱|