C 學習基礎(概念篇)(二)

2021-06-26 11:23:32 字數 1034 閱讀 4659

在c++中,在類的內部定義了函式體的函式,被預設為是內聯函式。而不管你是否有inline關鍵字。

內聯函式也有一定的侷限性。就是函式中的執行**不能太多了,如果,內聯函式的函式體過大,一般的編譯器會放棄內聯方式,而採用普通的方式

呼叫函式。這樣,內聯函式就和普通函式執行效率一樣了。內聯函式的引入可以說完全是為了效能的考慮。

開發人員可以有兩種方式告訴編譯器需要內聯哪些類成員函式,一種是在類的定義體外;一種是在類的定義體內。

(1)當在類的定義體外時,需要在該成員函式的定義前面加「inline」關鍵字,顯式地告訴編譯器該函式在呼叫時需要「內聯」處理,如:

class student

public:

string getname();

int     getage();

void        setage(int ag);

private:

string  name;

int     age;

inline string getname()

return name;

inline int getage()

return age;

inline void setage(int ag)

age = ag;

(2)當在類的定義體內且宣告該成員函式時,同時提供該成員函式的實現體。此時,「inline」關鍵字並不是必需的,如:

class student

public:

string getname()      

int     getage()       

void        setage(int ag)

private:

string  name;

int     age;

當普通函式(非類成員函式)需要被內聯時,則只需要在函式的定義時前面加上「inline」關鍵字,如:

inline int dosomemagic(int a, int b)

return a * 13 + b % 4 + 3;

C 基礎概念篇

一.不同進製之間的相互轉換二制,1.二進位制,八進位制,十六進製制轉換成十進位制 採用按權求和 2.十進位制轉換成二進位制,八進位制,十六進製制 連除倒取餘 3.八進位制 0 7 以0開頭,例 065 十六進製制 0 9 a f 0x開頭 例 0xa5 二.變數 1.定義 資料型別 變數名 初始值 ...

docker docker學習基礎概念篇

1 一種虛擬化的方案,直接執行在作業系統山上的使用者空間 2 是一種作業系統級別的虛擬化 3 依賴於linux核心特性 namespace和cgroups 只能執行相同或者相似核心的作業系統 將應用程式自動部署到容器 目標 1 提供簡單輕量的建模方式 2 職責的邏輯分離 3 快速高效的開發周期 4 ...

JS基礎學習篇(二)

1 新增乙個或多個元素 向陣列最後新增 arr.push ele1,ele2,向陣列最前面新增 arr.unshift ele1,ele2,這兩個方法都會返回新陣列的長度並改變原來的陣列。arr.splice insertpos,0,item1 item2 itemn 將乙個或多個新元素插入到陣列的...