posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          C++ 學習筆記 (6)

          Posted on 2007-10-01 01:08 ZelluX 閱讀(389) 評論(0)  編輯  收藏 所屬分類: C/C++

          C++ 學習筆記(6) 
          1. 類聲明中定義的函數都被自動處理為inline函數。
           
          2. Triangular t5(); 這句話似乎聲明了一個類的實例,但事實上,C++為了保持與C語法的一致,該語句會被解釋成一個返回Triangular對象的函數;正確的聲明應該去掉()。
           
          3. 考慮下面一段代碼
          class Matrix {
          public:
              Matrix( int row, int col )  // ...
              ~Matrix()  { delete [] _pmat; }
          private:
              int _row, _col;
              double *_pmat;
          };

           
          {
              Matrix mat(4, 4);
              {
                  Matrix mat2 = mat;
              }
          }
              把mat復制給mat2后,mat2中的_pmat與mat的_pmat指向同一個數組,在mat2所在的域結束后,mat2被釋放,同時刪除了_pmat指針指向的內容。錯誤發生。
              解決辦法是在Matrix::Matrix( const Matrix &rhs )中詳細指出深層拷貝的方法,同時實現賦值操作符的重載。

          4. mutable 和 const
          const方法無法修改類的成員,mutable成員除外。

          主站蜘蛛池模板: 大城县| 保康县| 裕民县| 芮城县| 本溪| 额尔古纳市| 崇礼县| 淄博市| 盐津县| 阿尔山市| 鸡东县| 蓬莱市| 松原市| 买车| 新龙县| 饶平县| 汾阳市| 吉木萨尔县| 凤阳县| 沁源县| 海南省| 繁昌县| 山阳县| 昌乐县| 巴青县| 利辛县| 阿克陶县| 舒城县| 封开县| 乌兰县| 石柱| 吴桥县| 长汀县| 茂名市| 从化市| 乐都县| 威信县| 汉川市| 鱼台县| 潮安县| 义乌市|