• <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年10月>
            2829301234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678
            統計
            • 隨筆 - 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 閱讀(343) 評論(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: 博客園 模板提供:滬江博客
            久久久久久伊人高潮影院| 69久久精品无码一区二区| 久久亚洲国产精品成人AV秋霞| 亚洲熟妇无码另类久久久| 久久精品一区二区国产| 欧美精品一区二区久久| 国内精品人妻无码久久久影院| 99久久婷婷国产综合精品草原| 久久亚洲精品国产亚洲老地址| 久久精品亚洲一区二区三区浴池| 久久av高潮av无码av喷吹| 久久亚洲AV成人无码国产| 久久中文精品无码中文字幕| 国产精品久久99| 久久99热这里只频精品6| 色成年激情久久综合| 日日躁夜夜躁狠狠久久AV| 久久伊人亚洲AV无码网站| 色综合久久88色综合天天| 亚洲国产精品无码久久| 深夜久久AAAAA级毛片免费看| 久久99精品国产麻豆| 久久热这里只有精品在线观看| 久久久久国产一区二区| 久久九九亚洲精品| 精品综合久久久久久97超人| 无码AV波多野结衣久久| 欧美日韩久久中文字幕| 久久一本综合| 久久久久国产一级毛片高清板| 久久电影网2021| 久久99国产精品二区不卡| 久久精品99久久香蕉国产色戒| 一本久久知道综合久久| 伊人久久大香线蕉av一区| 久久婷婷五月综合97色直播| 一本久久综合亚洲鲁鲁五月天| 亚洲国产成人精品女人久久久| 久久99精品久久久久久噜噜| 久久精品国产一区二区| 久久亚洲中文字幕精品一区|