天天看點

c++ static_const函數調用_名字空間

static

1:

C

語言static的功能适應于

C++

;

2:

static

修飾

c++

的靜态成員:

權限:

static

資料類型 名稱;

相當于類::靜态變量,它是一個純粹的變量,全局唯一,配置設定在資料段上;

3:

static

修飾

c++

的靜态函數

相當于類::函數,它是一個純粹的函數,與類型執行個體無關,是以也不會有this指針,不能通路執行個體的資料成員。

4: 權限修飾符号決定了通路的權限;

  • c++

    也可以有獨立的函數;
    • c++ static_const函數調用_名字空間
  • static

    • static

      也是隻能在子產品内部使用;
    • static

      靜态全局變量,和靜态局部變量;
    • c++

      , 靜态資料成員,靜态成員函數,
  • 靜态資料成員:
    • 一個全局變量:類名::變量名,全局變量–>資料段上;
    • 權限修飾:
      • public

        ,外部可以使用,
      • 使用靜态全局變量,和普通的變量不一樣,對象執行個體;
      • 在類裡聲明,在外部定義
      • c++ static_const函數調用_名字空間
      • private隻能内部使用,……..
      • c++ static_const函數調用_名字空間

靜态成員函數

  • 實際上就是一個普通的c++函數,類名::函數名
  • 它和普通的成員函數是不一樣;
  • 類的執行個體.成員函數()–>執行個體–>

    this

    ,;
  • 靜态函數不需要類的執行個體,當然在靜态函數裡面也沒有所謂的this
  • c++ static_const函數調用_名字空間
  • 如果是在類的内部,可以省略,但是不建議這樣的寫法,因為代碼是給開發人員看的
    • c++ static_const函數調用_名字空間
    • 這樣寫開發人員就能夠知道是個靜态成員變量;
    • 如果是聲明在外面;
    • c++ static_const函數調用_名字空間

const

1:

C

語言裡面的

const

也同樣适用于

c++

;

2:

C++

語言裡面

const

修飾成員函數,表示該函數不會修改任何資料成員,一旦你一個

const

修飾的函數裡修改資料成員,編譯器會報錯;

  • const

    :指的是這個函數裡面,不會修改任何執行個體對象的資料成員,編譯器會強制你不去修改這個,一旦修改,編譯器馬上報錯;
  • 減少代碼維護的負擔,如果你不會有成員變量的改變,一定寫上

    const

  • c++ static_const函數調用_名字空間
  • const

    函數實作在外部 要加上

    const

    • c++ static_const函數調用_名字空間
    • -

c++函數調用

1:

C++

調用成員函數:

隐式調用:執行個體.成員函數;

顯示調用: 執行個體.類::成員函數;

2:

C++

普通函數, 和

C

的文法是一樣的,但是參數傳遞不一樣,

C++

的普通的函數調用叫做

stdcall

,

C的函數調用叫做

__cdecl

3: C++的成員函數調用,要先傳遞this指針,是以叫做

thiscall

4:

C++

調用C的函數,加上

extern

“C” {}, 使用C的方式來調用;

4:

__cplusplus

宏,差別編譯器是C或C++;

6:C函數的代碼子產品供c/c++調用的頭檔案定義方式;

  • c++函數調用,執行個體.成員函數;
  • 傳遞this指針,–>

    thiscall

    方式
    • c++ static_const函數調用_名字空間
  • c++可以調用普通的函數;
  • stdcall

    方式
    • c++ static_const函數調用_名字空間
  • c++調c的函數,強制要求c++編譯器按照c的方式調用;
  • __cdecl

    方式
    • c++ static_const函數調用_名字空間
  • c語言編寫的代碼子產品,要給c++使用怎麼辦呢?
    • c++ static_const函數調用_名字空間
    • c++ static_const函數調用_名字空間
    • c++ static_const函數調用_名字空間
  • __cplusplus

    宏是C++的編譯器的判定
  • C編譯器來include,還是C++編譯器來include
    • c++ static_const函數調用_名字空間
    • 即可給c編譯器用還可以給c++編譯器使用
    • -

名字空間

1: 名字空間的作用: 多方合作的時候,難免會有重名,名字空間能解決這個問題;

2: 定義名字空間

namespace

名字 { C++代碼定義在這個主體}

3: 使用名字空間:

顯示的使用名字空間::xxxxxx

using namespace XXXXXX, 添加名字空間到搜尋路徑,在查找的時候,就會到你設定的名字空間下查找;

4: 名字空間的意義: 讓我們的命名,更規範,更合理, 如果我們寫底層庫給别人使用,一定要

加上名字空間,這個是對自己負責,也是對别人負責;

  • 每個廠商有自己的名字空間,這樣的話提供給其它人使用的時候,不會和陌生的廠商沖突;
    • c++ static_const函數調用_名字空間
  • 每次在前面加上名字空間,我們覺得有點麻煩;
  • 隐式的使用;
  • using namespace

    XXXX;
  • c++ static_const函數調用_名字空間

總結

1: 了解類的

static

關鍵字的作用;

2: 了解類的

const

關鍵字的作用;

3: 掌握c++的函數調用和C的函數調用的方式;

4: 掌握

_cplusplus

5: C++調用C代碼;

6: 掌握名字空間;

–》源代碼

繼續閱讀