<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            小升初英語作文預測:我有一個夢想

            時間:2025-11-17 21:23:27 小升初英語作文 我要投稿

            小升初英語作文預測:我有一個夢想

            小編我很久沒在應屆畢業生求職網上發表文章張了,下面就讓我來跟大家談談我的MTK筆試心得吧!

            小升初英語作文預測:我有一個夢想

            今年年要開始找工作了,本著積累經驗的目的,跑去做了下MTK的筆試題,筆試的內容主要是C++。

            因為開發中一直使用C++,而且對C++里的高級特性:面向對象,模板等都比較熟悉,還沒事喜歡研究下STL,BOOST,所以對自己的C++水平比較自信,因此事先也沒做任何準備,就直接去筆試了。本來筆試完了后覺得題目蠻簡單的,但是本著認真學習的態度回來后把題目都上機試驗了下,結果一下就悲劇了,錯的體無完服啊。

            總結了一下:

               1。認真對待,不要小看了筆試題目:做題的時候心想這些筆試題目都很簡單啊,很多題目都是掃了一眼就立即寫出了答案,結果回來后才發現這些題目都設置了陷阱,讓你掉進去就出不來了。
               2。C++基礎不夠扎實。枉我還一天到晚的研究C++的高級特性,結果很多基礎的知識卻都是一知半解。
            特將此次筆試的一些心得和體會記錄于此,好提醒自己。下面主要分析幾個我做錯的題目。題目并非與原題完全一致。
            題目一:
            int a=10,b=6;
            cout<<a+b<<" "<<a++<<" "<<b++;
            請說出上述語句的執行結果。
            很多人看過這段代碼后估計都會直接就寫上了 16 10 6 這樣的結果吧,但上機實驗的輸出結果是: 18 10 6
            為什么會出現這樣的結果,下面是我的分析過程,如果有不對的地方請大家指正。
            為了跟蹤代碼的執行步驟,我設計了一個類X,這個類是對int的模擬,行為方面與int基本一致,除了會打印出一些幫助我們理解的信息,代碼如下:

            class X
            {
            public:
                X(){cout<<"default construct"<<endl;}
                X(int a):i(a){ cout<<"construct "<<i<<endl;}
                ~X(){ cout<<"desconstruct "<<i<<endl;}
                X(const X& x):i(x.i)
                {
                    cout<<"copy construct "<<i<<endl;
                }
                X& operator++()
                {
                    cout<<"operator ++(pre) "<<i<<endl;
                    ++i;
                    return *this;
                }
                const X operator++(int)
                {
                    cout<<"operator ++(post) "<<i<<endl;
                    X x(*this);
                    ++i;
                    return x;
                }
                X& operator=(int m)
                {
                    cout<<"operator =(int)"<<endl;
                    i = m;
                    return *this;
                }
                X& operator=(const X& x)
                {
                    cout<<"operator =(X)"<<endl;
                    i=x.i;
                    return *this;
                }
                /pic/pic/pic/pic/pic/pic/pic/pic/pic/pic/pic/pic/
                friend ostream& operator<<(ostream& os,const X& x)
                {
                    os<<x.i;
                    return os;
                }
                friend X operator+(const X& a,const X& b)
                {
                    cout<<"operator +"<<endl;
                    return X(a.i+b.i);
                }
                /pic/pic/pic/pic/pic/pic/pic/pic/pic/pic/pic/pic/pic/> public:
                int i;
            };
            然后執行以下代碼:

                X a(10),b(6);
                cout<<"sum:" <<a+b<<" a:"<<a++<<" b:"<<b++<<endl;

            使用GCC4。5編譯后,代碼的執行結果如下:

            construct 10
            construct 6
            operator ++(post) 6
            copy construct 6
            operator ++(post) 10
            copy construct 10
            operator +
            construct 18
            sum:18 a:10 b:6
            desconstruct 18
            desconstruct 10
            desconstruct 6
            desconstruct 7
            desconstruct 11
            我們來簡單分析下這個執行過程:

            construct 10
            construct 6  //這兩行輸出對應于 X a(10),b(6);

            operator ++(post) 6
            copy construct 6 //表明首先執行了  cout<<"sum:" <<a+b<<" a:"<<a++<<" b:"<<b++<<endl;這句中的 b++這個表達式,
                                          b++這個表達式返回了一個值為6的臨時對象,而b本身則變成了7。
            operator ++(post) 10
            copy construct 10  //這句的分析同上

            operator +
            construct 18 /pic/> sum:18 a:10 b:6 //輸出的結果,從結果可以看出,實際上打印出的值分別為 a+b,a++和b++三個表達式所返回的臨時變量。
            desconstruct 18 //a+b 表達式返回的臨時變量的析構
            desconstruct 10 //a++ 表達式返回的臨時變量的析構
            desconstruct 6 //b++表達式返回的臨時變量的析構
            desconstruct 7 //變量a 的析構
            desconstruct 11  //變量b的析構

            真相大白了。為什么編譯器會這樣來編譯這個表達式呢?
            下面2樓的夜風同學給出了正確答案。。為了不誤導后面的同學,特此編輯掉。。

            上述實驗的環境均為GCC4。5  據同學說VS2010執行的結果在DEBUG下和RELEASE下居然分別為:16 10 6 和18 10 6,不過我沒有去驗證過,有興趣的同學可以去驗證并分析一下。
            做這樣一道題還是讓我收獲很多,鞏固了C++的基礎。
            今天就寫道這里,后面有時間會陸續放出對其他“陷阱”題目的分析。
             

             

            【小升初英語作文預測:我有一個夢想】相關文章:

            我有一個夢想英語作文(精選24篇)08-26

            我有一個夢想作文(經典)07-13

            我有一個夢想的作文05-15

            我有一個夢想的作文12-10

            作文:我有一個夢想05-12

            我有一個夢想作文【經典】12-06

            我有一個夢想作文07-07

            我有一個夢想作文09-21

            【精選】我有一個夢想05-06

            我有一個夢想03-04

            • 相關推薦
            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看