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

            Haste Makes Waste.

            Thoughts are but dreams till their effects be tried. -- William Shakespeare

            C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
              0 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks
            共2頁: 1 2 
            (deep-reverse 1)運行失敗
            @陳梓瀚(vczh)
            用不變量來表示狀態(tài)碉堡了,呵呵,我以前怎么沒想到。這樣能區(qū)分POD和class。云風(fēng)說沒有狀態(tài)估計說的是POD。
            我覺得contract并不僅僅指能做什么事情,還包括做事情前后的狀態(tài)應(yīng)該是什么樣子
            typedef int(__stdcall*f[10])(int(*a)(int, int));
            這個不是:“f是一個數(shù)組,數(shù)組返回了一個函數(shù)指針,……”。數(shù)組不會返回什么東西的啊。我覺得用typedef來解釋更清楚。上面的typedef等價于:
            typedef int (*A)(int, int);
            typedef int (__stdcall*F)(A);
            F[10];
            RET XXX::FUNC(...) const;和
            RET XXX::FUNC(...);
            也構(gòu)成重載
            社會化大生產(chǎn)的方式?jīng)Q定了不可能把每個人都發(fā)揮到極致的,而是選取每個人的特長來進行組合。

            很多好的軟件,不是天才的設(shè)計,便是經(jīng)驗老道的設(shè)計。初出茅廬的,可能還在技術(shù)細節(jié)層面糾纏呢。不妨問自己:我是天才嗎?我經(jīng)驗足夠嗎?

            “別人把軟件設(shè)計好,詳細到偽碼級別了,我只是來做最低級的實現(xiàn)而已。”樓主意識到這個并開始有想法是好的,只不過別太著急了。

            最后,兩個聰明人合作會使事情變糟,那是因為他們不夠聰明,或者說光有智商沒有情商。解雇之。寧要情商,不要智商。古往今來成功人士,智商高的有多少不好說,但情商絕對都是咣咣的。
            re: In the USA - 4[未登錄] raof01 2008-12-23 22:35
            謝謝了先
            re: In the USA - 4[未登錄] raof01 2008-12-23 22:34
            我試了下練習(xí)1.6,好像永遠都算不完,為什么呢?練習(xí)1.7呢?我沒有思路。
            第一,是bitwise initialization,member-wise copy。——這話是Inside C++ Object Model里說的,我也認同這種觀點。
            第四,不會遞歸調(diào)用基類CCF,但會遞歸調(diào)用個成員的CCF。——越俎代庖,做個補充:)
            @jmchxy
            按成員遞歸復(fù)制。不是按位復(fù)制。
            其他同意你的觀點。
            @浪跡天涯
            我們已經(jīng)被大環(huán)境綁架了。
            標題很吸引人,內(nèi)容很讓人失望。
            @匿名
            每個人成功的標準都不一樣。
            趁著年輕努力工作學(xué)習(xí)。

            大體上很贊同博主。這些是任何一個有責(zé)任感的人都必須做到的。
            BS的TC++PL
            我也覺得codeblocks好用。如果在linux上,vim+plugins會是相當好的選擇,anjuta也不錯。
            當然,如果在win上開發(fā)app或者做prototype,還是vs比較好,畢竟是RAD工具嘛。
            如果不做RAD,自己編寫makefile和腳本來管理src樹、進行開發(fā)能極大提高效率
            reinterpret_cast:重新解析位模式bit pattern。
            如:
            TYPE * t = new TYPE();
            unsigned long ul = reinterpret_cast<unsigned long>(t);
            delete t;
            我也沒看出問題。
            re: read/write(1) -- read[未登錄] raof01 2008-09-12 13:09
            為你的努力鼓掌。
            但是……我覺得這些沒有必要翻譯過來。一個合格的程序員,一定要feel comfortable with English。全世界都是如此
            強烈反對盜版
            強烈反對M$
            強烈盼望人民收入水平大幅提高
            強列盼望加大打擊盜版的力度
            靠,別誤會了,只是說這篇應(yīng)當參考TCPL,寫得簡潔點。
            對圖形學(xué)沒概念。飄過
            @David Lee
            類里面的函數(shù)是成員函數(shù),不可能是全局的。

            static成員函數(shù)不是全局的,它的scope是類,在全局范圍內(nèi)可以訪問,但不是全局函數(shù)。因為它操作的是該類相關(guān)的東西。類里面是不會有g(shù)lobal scope的東西的。c++中訪問全局函數(shù)應(yīng)該使用::。

            內(nèi)存上應(yīng)該一樣(not very sure),都是獨立于對象存在的。區(qū)別是static成員函數(shù)沒有隱含的this參數(shù)而普通成員函數(shù)有。
            @sPhinX
            M$的東西與GCC有差異。各自實現(xiàn)了標準的大部分,有自己的擴展。對于標準中“it depends”的東西就形態(tài)各異了。

            另外,const的保證是由編譯器來保證的,你看我畫的那個圖。
            就算構(gòu)造const對象,也需要修改這個內(nèi)存啊。對象構(gòu)造完成const才能起作用,否則怎么構(gòu)造/初始化?
            第三條結(jié)論怎么得出的?

            分析得不錯,就是有點麻煩。TCPL里指針講得比較好,簡明扼要。
            代碼沒問題。M$對C++做了修改,這是不兼容標準的地方
            宏是簡單的字符串替換。
            inline是將代碼插入到調(diào)用點——并非原封不動插入。compiler有權(quán)決定是否真的inline。
            re: 車通 面試題[未登錄] raof01 2008-08-29 11:23
            malloc后沒有free。破題
            第二題是悖論。類里聲明的函數(shù)有全局的?新鮮。賜教?
            re: 莫名科技面試題[未登錄] raof01 2008-08-29 10:01
            結(jié)果 4 11 100 400 4 3 4 6 8 4 4
            這個與機器有關(guān)。考題應(yīng)當避免任何與特定平臺相關(guān)的東西,除非考的就是某平臺。

            char->int轉(zhuǎn)換是promotion,無需static_cast。reinterpret_cast用于重新解釋(reinterpret)bit pattern。

            只有第10題稱得上夠勁——描述不清楚啊,哈哈:
            1、內(nèi)核與用戶之間拷貝?
            2、src和dest有重疊?
            3、考慮效率?
            4、訪問權(quán)限?
            5、src和dest均非NULL但是否可訪問?
            ……

            啥公司啊,一看題就知道不咋地。
            其實當把const int X = 10;放到頭文件中作為全局變量,這是X就有了internal linkage,可以將其作為常量使用,T a[x];不再非法。
            還應(yīng)當考慮對象切片以及包含虛擬的情況。
            http://blog.chinaunix.net/u/12783/showart_476048.html
            兄弟你把IDE里的概念和C++本身的概念混淆了。查一下C++標準,就沒有AppWizard。

            @白金漢宮
            老譚居然還會c++?肯定是垃圾。C++最好的入門書是BS的TC++PL。

            const:表明該對象是read only的,也可以用來表示常量,但不是所有的編譯器都支持這個特性。這也就是為什么const int X = 10; T a[X];在使用某些編譯器編譯時是非法的。

            * 用來保護對象不受修改。
            * const成員函數(shù),只能訪問const成員——當然不包括logical constness。
            * const參數(shù),表明該參數(shù)不可被函數(shù)修改,一般作用于T*或者T&。
            * T * const和T const *(const T*)的區(qū)別。從右向左讀就能明白區(qū)別。傳參時,T * const與T*等價。還有const T * const,表明該對象以及其指向的對象都是read only的。
            * const返回值:返回的對象是readonly的。
            Base* b = (Base*)100;
            Derived* d1 = reinterpret_cast( b );
            Derived* d2 = static_cast( b );
            這三句有問題。至少g++無法編譯。
            對于obj1來說,通過ptr修改obj2并沒有修改obj1所引用的內(nèi)存區(qū)。這個obj1的bit pattern不變。
            昨天看見你給我的評論,今天就看見這個了。:)
            這里并不是打破了bitwise constness。如圖:
            obj1
             ------
            | data1|
            |------|      obj2
            |ptr---+--> -----------------
             ------    |Can be modified  |
                       |without breaking |
                       |bitwise constness|
                        -----------------
            看來我的理解也不夠深刻……
            能否操作臨時變量,就看你有沒有辦法獲取他的地址。
            @&lt;a href=http://minidx.com&gt;minidxer&lt;/a&gt;
            臨時變量是可以操作的
            如:
            int main()
            {
            long l = 2222;
            char const &s = l;
            int *p = reinterpret_cast<int*>(const_cast<char *>(&s));
            *p = 88;
            printf("%ld, %c\n", l, s);
            return 0;
            }
            考慮這種情況:
            void foo()
            {
            int const a = 10;
            }

            如果const默認是static,那么上面的函數(shù)應(yīng)該等價于:
            void foo()
            {
            static int a = 10;
            }

            可能嗎?
            考慮這種情況:
            void foo()
            {
            int const a = 10;
            a++;
            }

            如果const默認是static,那么上面的函數(shù)應(yīng)該等價于:
            void foo()
            {
            static int a = 10;
            a++;
            }

            可能嗎?
            @金慶
            c++標準哪里有?把原話貼過來啊。
            (*it).m;
            it->m;

            (*it)->m;
            相同嗎?
            OMG!看了這么多留言才知道,只有kevin lynx和博主——當然也包括本人——知道討論的是什么問題。

            IMHO,其他人該好好鞏固一下基礎(chǔ)了。
            @komac
            你沒有理解博主的意思。
            @abettor,@theanswerzju
            IMHO,你們對于變量的定義理解存在問題。參考“C/C++:如何理解復(fù)雜的聲明”(http://blog.chinaunix.net/u/12783/showart_378340.html)。

            變量定義一次就分配一次存儲。多次包含global.h,則多次為STR_TEST分配空間。編譯器正常是因為分開編譯。鏈接異常是因為有多個存儲叫做STR_TEST,通過STR_TEST引用存儲存在二義性。

            而且inclusion guard是防止一個h被重復(fù)包含,而不是在一個cpp里重復(fù)包含。最基礎(chǔ)的書籍關(guān)于這點也是很清楚的。

            與inclusion guard無關(guān)。
            const 變量默認是 static 的?誰說的?

            multiple definition并不是由其constness不正確而導(dǎo)致的。
            char * const p = "....";(p為常量,存放在常量表中,鏈接時沒問題)或者static char * p = "....";(限制p的作用域為編譯單元,但p可修改)即可,因為字符串本身是字面常量,不能修改。

            因此,你這里的錯誤是由于全局變量使用錯誤導(dǎo)致的,與const無關(guān)。按照你最初的定義,在多個cpp中包含該global.h就相當于多次定義了STR_TEST。因此鏈接時會出錯。

            const char STR_TEST[] = "Hello world!";這里有個拷貝操作,相當于多用了一倍的空間。

            建議你看看“C++:一些基礎(chǔ)知識”(http://blog.chinaunix.net/u/12783/showart_548200.html)3和4條
            共2頁: 1 2 
            人人狠狠综合久久88成人| 久久精品国产久精国产果冻传媒| 狠狠色丁香久久婷婷综合五月 | 国产精品伦理久久久久久| 国产成人无码精品久久久免费| 久久久91人妻无码精品蜜桃HD| 久久久久久久波多野结衣高潮| 久久ww精品w免费人成| 久久国产精品视频| 久久精品国产亚洲av水果派| 久久露脸国产精品| 青青青伊人色综合久久| 狠狠色婷婷久久综合频道日韩| 亚洲综合精品香蕉久久网97| 久久久精品国产sm调教网站| 亚洲国产香蕉人人爽成AV片久久| 精品久久久噜噜噜久久久 | 国产精品无码久久久久久| 亚洲国产精品成人AV无码久久综合影院| 无码人妻少妇久久中文字幕蜜桃| 欧美久久久久久精选9999| 久久精品国产亚洲一区二区| 性欧美大战久久久久久久久| 久久国产精品无| 久久e热在这里只有国产中文精品99| 狠狠色婷婷久久综合频道日韩| 97久久超碰国产精品旧版| 伊人久久大香线蕉综合Av | 久久久一本精品99久久精品66| 久久精品中文字幕久久| 国内精品久久人妻互换| 国产亚洲精久久久久久无码| 2020久久精品国产免费| 国产精品久久午夜夜伦鲁鲁| 国产成人久久久精品二区三区| 国产91色综合久久免费| 精品国产91久久久久久久 | 久久天天躁狠狠躁夜夜躁2O2O| 亚洲综合精品香蕉久久网| 久久天天躁夜夜躁狠狠| 一本色道久久综合狠狠躁|