C C 課程筆記 九

2021-09-23 15:35:46 字數 2003 閱讀 8683

指定乙個基本型別:

預設,類成員為私有

class stock

}

class stock

inline

void stock::

set_tot()

inline function 可視為class中的巨集函式定義,可以增加執行效率,減少記憶體開銷,但與巨集函式不同,其不僅僅是簡單的替換,編譯器會對inline函式做一定的檢查,區別如下:

// 巨集函式

#define macro_test(b,c) (b*c)

// 內聯函式

inline

intinline_test

(int b,

int c)

// macro_test(5-2,3): -1 (5-2*3)

// inline_test(5-2,3): 9 ((5-2)*3)

因此,inline function適用於較為短小的函式,且inline關鍵字只用作建議編譯器將函式視為inline,實際執行中,編譯器可能忽略此意見。

2.3.1 constructor

stock food =

stock

("a",1

,2);

stock food

("a",1

,2);

class

stock

stock stock1;

// 報錯

stock stock1 =

stock

("a");

stock1 =

stock

("b");

// 建立臨時變數stock1

2.3.2 destructors

當函式過期時,呼叫析構函式,析構函式細節如下:

編譯器決定何時呼叫析構函式,一般不顯式呼叫析構函式。

成員名與引數名不能相同,可以給成員名加上_m字首或是_字尾以示區別。

2.5 c++11 list initialization

stock s1 =

;stock s2

;stock s3

;

2.6 constant member function

函式show()並不改變類變數,使用show() const宣告。

2.7 this porinter

this用來指明當前變數的指標。

2.8 an array of objects

初始化物件陣列的方案是,首先使用預設建構函式建立陣列元素,然後花括號中的建構函式將建立臨時物件,然後將臨時物件的內容複製到相應的元素中。因此,要建立類物件陣列,則這個類必須有預設建構函式。

2.9 class scope

在建立類的例項前,沒有地方用於存放變數,因此如下的定義在類中是不可行的:

class

bakery

class

bakery

;}

class

bakery

作用域中的列舉

enum egg 

;enum t_shirt

;

enum

class

egg;

enum

struct t_shirt

;egg choice = egg::small;

t_shirt c = t_shirt::small;

課程筆記 優秀課程筆記整理

目錄 cs231n 李巨集毅老師機器學習課程 pytorch學習筆記 深度學習概述 神經網路基礎之邏輯回歸 神經網路基礎之python與向量化 淺層神經網路 深層神經網路 深度學習的實用層面 優化演算法 超引數除錯 batch正則化和程式設計框架 機器學習策略 上 機器學習策略 下 卷積神經網路基礎...

python課程筆記 Python課程筆記(二)

1 格式化輸出 print d d s 15,3.14,12.8 對比c語言 printf d,d,s 15,3.14,12.8 這裡可見 python要求更簡明一些。注意點 without syntaxwarning str object is not callable 在 的左側放置乙個字串 格...

CC2530的系列課程

本課程主要是cc2530的系列課程,並附上原始碼。課程內容大體安排如下 第一章 zigbee簡介 第二章 zigbee軟體開發平台的搭建 zigbee cc2530 系列教程 3 點亮1個led實驗 zigbee cc2530 系列教程 4 按鍵控制led實驗 zigbee cc2530 系列教程 ...