Boolan_C++_OOP

為什么 學(xué)習(xí) C++?

他的效率 比其他 面向?qū)ο?語言,
更快。

作用域,Scope 大括號

以 良好的方式, 編寫 C++ class

  • Class without pointer members
    Complex , 沒指針
    不帶指針的類, 多半不用寫 析構(gòu)函數(shù)。
    復(fù)數(shù), 包含 實(shí)部 和虛部。
  • Class with pointer members
    String, 有指針
    字符串, 其實(shí) 是個 ptr, 指向一串字符。

學(xué)習(xí) C++,

  • 語言部分
  • 標(biāo)準(zhǔn)庫 部分

C++ 98
(1.0 ) 1998

C++ 11
( 2.0 ) 2011

STL, Standard Template Library.

C語言,
數(shù)據(jù)定義在 結(jié)構(gòu)體中。類型。

數(shù)據(jù)變量, 都是 全局的。
各個函數(shù) , 都可以 去處理數(shù)據(jù)。

C ++,
Class / Struct,
Data Members,
Member Functions.
把 數(shù)據(jù) 和 函數(shù) 包在一起。

Guard 防衛(wèi)式聲明
# ifndef
# define
# endif

{
條件 編譯.
防止 在 一個 .cpp 里面,
include 同一個 .h 文件 多次。
而出現(xiàn), 那個 .h 的聲明 , 被重復(fù)出現(xiàn)。
}

Class Template 模版
template < typename T > 函數(shù)模板

構(gòu)造函數(shù) ctor 放在 private 區(qū)。
public 區(qū), 放一個 單例。

不會改變的內(nèi)容前面,
( get 方法 ),
實(shí)現(xiàn)前面,加 const.


參數(shù)傳遞

  • pass by value 盡量不要傳值。
    整包 傳過去。
    Value 多大, 都傳。
    傳的動作, 就是 壓到 函數(shù)的 棧( Stack )里面。
  • pass by reference ( to const )
    有 取地址 符號。( & )
    引用 在底部 就是一個指針。
    傳引用, 就相當(dāng)于傳指針。
    傳引用, 速度很快, 傳遞指針的 速度, 4個字節(jié)。
    最好, 所有的 參數(shù)傳遞, 都傳引用。
    參數(shù)少于 4字節(jié), 傳value.

我們是 同一個東西,
函數(shù)一改, 就影響了 我。
解決:
pass by reference to const

C 可以傳 指針。
我要傳 這一包東西,
這包東西太大了,
我就把 這一包東西的 地址 , 傳出去。

返回值 傳遞

  • return by value
    沒有 by reference 好。
    他比較差, 比較慢。
  • return by reference ( to const )
    盡量 這樣做

用 reference 的 好處,
傳遞者 無需知道 , 接受者 是以 reference 形式接收。

用 point 來 pass value,
傳的人 必須知道 現(xiàn)在傳的是 什么東西, 要有一個 特殊符號。

操作符 重載, Operator Overloading


this, 調(diào)用者

所有的 成員函數(shù), 一定帶著一個 隱藏的 參數(shù)。
那個參數(shù), 我沒有寫, 但是他在。
誰調(diào)用這個函數(shù), 那個誰, 就是 this.

this , 是一個 指針。

編譯器 ,把 operator 符號 ,
作用在 左邊。

*ths, 是 指針?biāo)傅臇|西,
一個 object/ value.

看 function name ,
就知道
這是 成員函數(shù), 還是 全局函數(shù)。

typename ( 臨時對象)
等同于 int (sth )

臨時對象, 他臨時才要的。
他的生命 到下一行 ,就結(jié)束了。

negate 取反, 反向

+

正號, 還是 加法 ?
編譯器 通過 參數(shù), 識別。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容