• <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>
            Welcome to Leon's Blog  
            日歷
            <2008年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789
            統計
            • 隨筆 - 30
            • 文章 - 0
            • 評論 - 51
            • 引用 - 0

            導航

            常用鏈接

            留言簿(4)

            隨筆分類

            隨筆檔案

            ACM

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

             
                快找工作了,從今天開始開始復習C++等知識了。現在遇到了幾個奇怪的題目:
               1、
            class CLS
            {
            public:
                
            int m_i;
                CLS( 
            int i ) //: m_i(i) {}
                {
                    m_i 
            = i;
                }

                CLS()
                
            {
                    CLS(
            0);
                }

            }
            ;
            int main()
            {
                CLS obj;
                cout 
            << obj.m_i << endl;
            }
            問輸出是多少?
            調試之后,發現在
            CLS()
             {
              CLS(0);
             }
            中的this指針不同,所以這里可能和c#或者Java不同,當調用CLS(0)的時候,它會重新分配一塊空間,并且初始化新對象的m_i=0.
            后來在網上搜了一下,找打了這篇文章:http://blog.csdn.net/cnheying/archive/2007/05/16/1611698.aspx 和http://www.cnblogs.com/chio/archive/2007/10/20/931043.html。不知道大家對這道題有什么想法,歡迎討論!
            2、
            float a = 1;
                cout 
            << (int)a << endl;
                cout 
            << (int&)a << endl;
                
            //cout << *(int*)&a << endl;
                cout << boolalpha << ((int)a == (int&)a) << endl;

                
            float b = 0.0f;
                cout 
            << (int)b << endl;
                cout 
            << (int&)b << endl;
                cout 
            << boolalpha << ((int)b == (int&)b) << endl;
                cout 
            << endl;
            本來不存在我注釋的那一行,考慮(int&)a的時候,發現輸出跟想想的不一樣,后來發現和*(int*)&a的值是相同的。所以我猜測(int&)a可能首先取a的地址,然后轉化成(int*),再去a地址里面的內容,這時是按照int讀取的。
            3、
                int x = 1;
                
            int *= &x;
                
            int y = 4;
                cout 
            << (++(*p) < y ? (*p)++: y) << endl;
                cout 
            << x << endl;
             關于三元運算符和++的比較,++的優先級比三元運算符高。我是在VS2005下調試的,通過讀匯編代碼,發現((*p) ++< y ? (*p)++: y);首先對x+1,然后把值回寫的內存中,用原來的之比較,比較晚之后,再從內存中讀取出值,進行cout<<(*p)++<<endl;的操作。輸出原值后再+1。結果x最終輸出3。(這樣如果死扣語言,我覺得自己會死人的)。
                  如果以上哪里分析的不對,歡迎大家拍磚!!
            posted on 2008-10-06 16:00 Leon916 閱讀(347) 評論(4)  編輯 收藏 引用 所屬分類: c++學習
            評論:
            • # re: 網上面試題疑問  canbingzt Posted @ 2008-10-06 17:14
              (int&)a
              是不是引用的意思?  回復  更多評論   

            • # re: 網上面試題疑問  李現民 Posted @ 2008-10-07 16:29
              關于i++的問題,c++的與c#, java的計算規則不一樣,真搞不清楚為什么要考這樣的東西  回復  更多評論   

            • # re: 網上面試題疑問[未登錄]  Xw.Y Posted @ 2008-10-07 16:55
              1.構造函數的調用和實例初始化的次序問題
              2.強類型轉換……很奇怪的寫法
              3.變量取地址,指針取值,以及++的用法
              也就第一題還能算題吧,其實都是簡單概念,很無聊而且很不厚道的題目……沒啥意思,  回復  更多評論   

            • # re: 網上面試題疑問  Leon916 Posted @ 2008-10-07 21:51
              (int&)a我覺得不是引用。

              我也實在搞不清楚,為什么公司希望用這些東西來衡量一個人C++語言的水平,但是也沒有辦法。  回復  更多評論   

             
            Copyright © Leon916 Powered by: 博客園 模板提供:滬江博客
            久久久久久a亚洲欧洲aⅴ| 久久久亚洲欧洲日产国码是AV| 亚洲精品乱码久久久久久蜜桃不卡 | 国产精品gz久久久| 久久精品亚洲精品国产欧美| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 九九久久精品国产| 久久久久久精品免费免费自慰| 久久国产精品一国产精品金尊| 一本一道久久精品综合| 国产成人久久精品一区二区三区| 国产精品99久久精品| 中文字幕无码久久久| 精品午夜久久福利大片| 久久久久99这里有精品10| 日韩精品久久久久久| 性高湖久久久久久久久| 久久久噜噜噜久久| 日本免费久久久久久久网站| 亚洲精品无码久久久久sm| 亚洲婷婷国产精品电影人久久 | 九九久久精品无码专区| 狠狠色丁香久久婷婷综合五月 | 中文字幕亚洲综合久久2| 性高湖久久久久久久久| 久久精品国产亚洲αv忘忧草| 国产福利电影一区二区三区久久老子无码午夜伦不 | 免费精品久久久久久中文字幕| 77777亚洲午夜久久多喷| 色欲av伊人久久大香线蕉影院 | 久久精品国产精品亚洲艾草网美妙| 少妇内射兰兰久久| 亚洲∧v久久久无码精品| 亚洲综合伊人久久综合| 久久99久久99精品免视看动漫| 欧美午夜精品久久久久久浪潮| 香港aa三级久久三级| 日本精品久久久中文字幕| 一级做a爱片久久毛片| 品成人欧美大片久久国产欧美...| 91麻精品国产91久久久久|