• <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年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567
            統計
            • 隨筆 - 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 閱讀(348) 評論(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: 博客園 模板提供:滬江博客
            94久久国产乱子伦精品免费 | 国内精品综合久久久40p| 国产精品乱码久久久久久软件| 一本久久a久久精品亚洲| 久久国产色AV免费观看| 精品久久久久久久久久中文字幕| 久久午夜无码鲁丝片秋霞| www.久久热.com| 久久精品国产99国产精品导航| 久久最近最新中文字幕大全| 久久亚洲AV无码精品色午夜麻豆| 国产2021久久精品| 久久婷婷五月综合97色一本一本| 久久久噜噜噜久久| 99久久免费国产精品| 午夜精品久久久久久久久| 少妇被又大又粗又爽毛片久久黑人 | 久久婷婷五月综合97色一本一本| 久久99热这里只有精品国产| 精品国产乱码久久久久久郑州公司| 亚洲日本va午夜中文字幕久久| 亚洲乱亚洲乱淫久久| 国产精品久久网| 久久国产欧美日韩精品| 久久久久亚洲av无码专区 | 怡红院日本一道日本久久| 麻豆成人久久精品二区三区免费| 亚洲伊人久久综合中文成人网| 99久久精品国产一区二区蜜芽| 狠狠色丁香久久综合五月| 国产精品岛国久久久久| 久久久久成人精品无码中文字幕| AV无码久久久久不卡蜜桃| 久久精品久久久久观看99水蜜桃| 无码国内精品久久综合88| 久久久青草青青国产亚洲免观| 精品欧美一区二区三区久久久| 国产精品成人99久久久久91gav| 久久国产成人亚洲精品影院| 日日狠狠久久偷偷色综合免费| 久久国产视屏|