• <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  
            日歷
            <2009年4月>
            2930311234
            567891011
            12131415161718
            19202122232425
            262728293012
            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 閱讀(344) 評論(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: 博客園 模板提供:滬江博客
            久久人人爽人人人人片av| 热99RE久久精品这里都是精品免费| 91麻豆精品国产91久久久久久 | 久久精品水蜜桃av综合天堂| 欧美成a人片免费看久久| 久久毛片一区二区| 久久精品国产亚洲精品2020| 91精品国产综合久久香蕉| 久久亚洲精品无码播放| 久久精品免费一区二区| 99久久免费国产精精品| 久久精品不卡| 久久久精品国产sm调教网站| 久久国产精品国语对白| 久久婷婷五月综合色奶水99啪| 精品久久久久久久中文字幕| 狠狠色噜噜色狠狠狠综合久久| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 天堂久久天堂AV色综合| 久久精品这里热有精品| 国产色综合久久无码有码| 91超碰碰碰碰久久久久久综合| 四虎影视久久久免费| 亚洲国产精品久久电影欧美| 韩国三级中文字幕hd久久精品| 漂亮人妻被黑人久久精品| 久久精品国产亚洲7777| 久久r热这里有精品视频| 久久免费大片| 999久久久国产精品| 精品精品国产自在久久高清| 无码精品久久久天天影视| 亚洲婷婷国产精品电影人久久| 久久久久久亚洲精品无码| 久久er99热精品一区二区| 久久亚洲sm情趣捆绑调教| 久久综合狠狠综合久久97色| 久久精品国产亚洲Aⅴ香蕉| 久久久91人妻无码精品蜜桃HD| 久久精品成人免费网站| 久久久久久综合一区中文字幕|