• <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>
            posts - 200, comments - 8, trackbacks - 0, articles - 0
                 問題的由來:
            vector<int> coll;
            .....
            sort(++coll.begin(),coll.end());
                對于sort那句,如果vecotor的底層是用指針實現(通常就是用指針實現),那么編譯無法通過。
               
                其實此次問題該系列上一次文章類似<<c++標準程序庫----p55----為什么需要auto_ptr_ref? (轉)>>,都是臨時對象惹的禍。
               c++不允許任何修改基本類型(包括指針)臨時值的行為,但對于類類型則允許。怎么理解呢?舉個例子:
            #include <iostream>
            using namespace std;
             
             
            class node
            {
             
            public:
                node(int j = 0):i(j){}
                int i;
                void operator++()//這里重定義一個賦值操作符=,為下面的賦值做準備。
                {
                    i++;
                }
            };
             
            node fun()                          
            {
                node temp(1);
                return temp;//這里返回一個類的臨時變量
            }
             
            int* fun2()
            {
                int a =1;
                int* b = &a;  //這里返回存在棧中局部變量的地址是不對的,但只是做實驗! 
                return b;//這里返回一個普通int臨時變量
             
            }
            int main()
            {
                ++fun();   // ok!
                ++fun2(); //這句無法通過編譯 
                system("pause");
             
            }
                上面的例子fun()返回類類型的臨時變量可以被修改,但fun2()返回的指針的臨時變量不能被修改。
                回到開始的例子,因為vector的迭代器底層是用指針實現,所以begin()函數返回的是一個指針類型的臨時變量,如果用++操作去修改,那就違反了c++的設計原則,所以無法編譯通過。做到底還是左值不能被修改!!!
            香港aa三级久久三级老师2021国产三级精品三级在 | 国产69精品久久久久观看软件| 欧洲性大片xxxxx久久久| 一级a性色生活片久久无| 久久综合狠狠综合久久| 66精品综合久久久久久久| 亚洲国产精品无码久久久久久曰 | 女人高潮久久久叫人喷水| 久久亚洲精品国产精品| 久久99国产一区二区三区| 久久久久青草线蕉综合超碰| 国产午夜免费高清久久影院| 久久99精品国产麻豆婷婷| 久久天天躁狠狠躁夜夜网站| 国产精品无码久久四虎| 天天爽天天狠久久久综合麻豆| 国产综合成人久久大片91| 久久99精品久久久久久动态图| 久久久久久A亚洲欧洲AV冫 | 香蕉aa三级久久毛片| 欧美激情精品久久久久| 九九精品99久久久香蕉| 久久精品国产乱子伦| 久久夜色精品国产| 国产精品99久久久久久猫咪| 国产精品久久久久久搜索| 亚洲色大成网站WWW久久九九| 中文字幕精品无码久久久久久3D日动漫 | 亚洲AV无码久久精品蜜桃| 亚洲国产成人精品91久久久| 99久久99久久精品国产片| 久久精品国产影库免费看| 99久久久精品免费观看国产| 久久精品无码午夜福利理论片 | 国内精品久久久久久中文字幕| 国产精品青草久久久久婷婷| 久久国产精品成人影院| 久久久青草久久久青草| 99久久99久久精品国产片果冻| 国产—久久香蕉国产线看观看| 91秦先生久久久久久久|