乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      c++ 中缺省參數(shù)

       水中麒麟 2013-09-14
      l 【規(guī)則 8-3-1】參數(shù)缺省值只能出現(xiàn)在函數(shù)的聲明中,而不能出現(xiàn)在定義體中。
      例如:
      void Foo(int x=0, int y=0); // 正確,缺省值出現(xiàn)在函數(shù)的聲明中
      void Foo(int x=0, int y=0) // 錯誤,缺省值出現(xiàn)在函數(shù)的定義體中
      {
      }
      為什么會這樣?我想是有兩個原因:一是函數(shù)的實現(xiàn)(定義)本來就與參數(shù)是否有
      缺省值無關(guān),所以沒有必要讓缺省值出現(xiàn)在函數(shù)的定義體中。二是參數(shù)的缺省值可能會
      改動,顯然修改函數(shù)的聲明比修改函數(shù)的定義要方便。
      l 【規(guī)則 8-3-2】如果函數(shù)有多個參數(shù),參數(shù)只能從后向前挨個兒缺省,否則將導致
      函數(shù)調(diào)用語句怪模怪樣。
      正確的示例如下:
      void Foo(int x, int y=0, int z=0);
      高質(zhì)量C++/C 編程指南,v 1.0
      2001 Page 64 of 101
      錯誤的示例如下:
      void Foo(int x=0, int y, int z=0);
      要注意,使用參數(shù)的缺省值并沒有賦予函數(shù)新的功能,僅僅是使書寫變得簡潔一些。
      它可能會提高函數(shù)的易用性,但是也可能會降低函數(shù)的可理解性。所以我們只能適當?shù)?/div>
      使用參數(shù)的缺省值,要防止使用不當產(chǎn)生負面效果。


      示例8-3-2 中,不合理地使用參數(shù)
      的缺省值將導致重載函數(shù)output 產(chǎn)生二義性。
      #include <iostream.h>
      void output( int x);
      void output( int x, float y=0.0);
      void output( int x)
      {
      cout << " output int " << x << endl ;
      }
      void output( int x, float y)
      {
      cout << " output int " << x << " and float " << y << endl ;
      }
      void main(void)
      {
      int x=1;
      float y=0.5;
      // output(x); // error! ambiguous call
      output(x,y); // output int 1 and float 0.5
      }
      示例8-3-2 參數(shù)的缺省值將導致重載函數(shù)產(chǎn)生二義性

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多