2011.11.9
1.引用傳遞比值傳遞的優勢,不僅在於可以改變形參的值。而且在傳遞比較大型的參數數據時,減少複製帶來的耗時。當然,如果函數不需要改變參數的值,最好在參數前面加上const。那麼,什麼時候使用引用作爲參數?1.需要改變參數的值得時候。2.參數數據量比較大的時候.
2.""和<>包含文件的區別在於,<>只在標準庫中尋找該文件而不會在當前目錄下尋找。而""是先在當前目錄下尋找該文件,如果找不到,再到標準庫中尋找。因此,如果引用的是自己編寫的文件,則應該用"",如果是使用標準庫文件,則應該使用<>。
_________________________________________________________________________________________________________________
11.13
1.一個算法: 要把一個數組的前一部分移動到後面,例如1234567, 參數爲數組,大小爲3,則返回4567123。這裏涉及一個問題,如果是這樣的函數聲明void moveSubStringToTheEnd(int *array, int number)。則基本不可實現,因爲數組傳入到參數中後退化爲指針,無法知道數組的大小。但C#可以。現在假定再傳入數組的大小。則有一個方法比較簡單:令數組A的逆爲^A,則(123)^ = 321。要實現函數則由,(A^B^) = BA可得。先求123^=321,4567^=7654,合起來3217654^=4567123。
2.進行值傳遞的時候,將參數設置爲const沒有意義,因爲傳入的是參數的一個副本。
___________________________________________________________________________________________________________________
11.15
1.不僅默認構造函數編譯器會自動生成,拷貝構造函數也會自動生成。但是,默認構造函數並不初始化任何成員變量。拷貝構造函數,可以有多個參數,但第一個必須是對象的引用,後面的參數必須有默認值,這樣,不會引起重載函數的匹配混亂問題。