宣告、定義、表頭檔、前置後置式

前置處理器:
#include是前置處理器指令,用來函入表頭檔,表示程式會用到這個表頭檔中的一些函式,假使我們要用到主控台輸入輸出,這些功能定義在cstdio這個檔案中,所以我們在程式上方需寫#include < cstdio >。


字面常量:
1、假使在程式中寫下1、1.0、’a’這樣的數值,這類數值就稱為字面常量,1這個數值會被預設為int型態無正負號的數值,而1.0等小數會被預設為double型態的數值。
2、只有內建型別才有字面常數,class型別沒有字面常數。
3、整數字面常量可以用8進位、10進位與16進位來表示,一般習慣使用10進位,如果要使用8進位的字面常量,開頭加上0,如果要使用16進位的話,開頭加上0x。


宣告和定義:
1、定義也是一種宣告。
2、一個變數可被宣告多次,但只能定義一次。
3、變數的定義為該變數配置足夠的儲存空間,同時可指定初值。
4、一個變數必須被定義恰好一次,且使用之前需先定義或宣告。


表頭檔:

1、表頭檔應該放宣告而非定義。
2、表頭檔放任何定義式都可能導致連結錯誤,抱怨變數被重複定義。
3、上項規則對class和inline函式不成立,此兩者定義於表頭檔內,我們用表頭哨兵的方式,避免發生重複定義的情形:

#ifndef SOMEITEM_H
#define SOMEITEM_H
//SomeItem的定義和相關函式放這
#endif

前置式和後置式差異為返回順序差異,前置式先處理再返回,後置式為先返回再處理:

int i = 0;
int j = 0;
j = ++i; //結果為j=1 i=1
int m = 0;
int n = 0;
m = n++; //結果為m=0 n=1