• <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: 博客園 模板提供:滬江博客
            久久精品成人免费看| 午夜精品久久久久久久无码| 亚洲va久久久噜噜噜久久男同 | 久久久久久九九99精品| 久久精品国产99久久无毒不卡| 久久精品亚洲中文字幕无码麻豆| 国产精品久久久久一区二区三区| 亚洲人AV永久一区二区三区久久| 久久精品www人人爽人人| 国产精品永久久久久久久久久| 国内精品久久久久影院薰衣草| 国产成人综合久久综合| 久久久国产视频| 国产精品成人精品久久久| 亚洲精品白浆高清久久久久久| 99久久精品免费看国产| 99久久久国产精品免费无卡顿| 亚洲人成无码www久久久| 亚洲一本综合久久| 国产精品美女久久久久| 亚洲色欲久久久综合网| 亚洲色欲久久久久综合网| 99久久精品国产毛片| www性久久久com| 欧美大香线蕉线伊人久久| 久久久久99这里有精品10| 精品国产热久久久福利| 91久久婷婷国产综合精品青草| 中文国产成人精品久久不卡| 免费无码国产欧美久久18| 伊人久久大香线蕉AV一区二区| 国产精久久一区二区三区| 国产成人无码精品久久久久免费| 99久久99久久久精品齐齐| 99久久超碰中文字幕伊人| 无码人妻精品一区二区三区久久| 久久笫一福利免费导航| 97精品伊人久久大香线蕉| 久久精品国产免费观看| 亚洲va久久久噜噜噜久久狠狠 | 久久国产乱子精品免费女|