詳細請參考c++ primer plus 第九章(p301)
1單獨編譯
與其將結構宣告加入到每乙個檔案中,不如將其放在標頭檔案中,然後在每乙個源**檔案中包含該標頭檔案。這樣,要修改結構宣告時,只需要在標頭檔案中做一次改動即可。另外,也可以將函式原型放在標頭檔案中。因此,可以將原來的程式分成三部分:
第一,標頭檔案:包含結構宣告和使用這些結構的函式的原型。
第二,源**檔案:包含與結構有關的函式的**。
標頭檔案常常包含的內容:
1)函式原型;
2)使用#define或const定義的符號常量;
3)結構宣告;
4)類宣告;
5)模板宣告;
6)內聯函式
只需要將源**檔案加入到專案中,而不用加入標頭檔案。這是因為#include指令管理標頭檔案。另外,不要使用#include來包含源**檔案,這樣做將導致多重宣告。
注意:不要將標頭檔案加入到專案列表中,也不要在源**檔案中使用#include來包含其他源**檔案。
2檔案頭管理
在同乙個檔案中只能將同乙個檔案包含一次。下面的片段意味著僅當以前沒有使用預處理器編譯指令#define定義名稱coordin_h_時,才處理#ifndef和#endif之間的語句:
#ifndef coordin_h_
#define coordin_h_
... ...
#endif
如果在同乙個檔案中遇到其他包含coordin.h的**,編譯器將知道coordin_h_已經被定義了,從而跳到#endif後面的一行上。注意,這種方法並不能防止編譯器將檔案包含兩次,而只是讓它忽略除第一次包含之外的所有內容。
3程式**例子
標頭檔案
#ifndef coordin_h_
#define coordin_h_
struct polar
;struct rect
;polar rect_to_polar(rect xypos);
void show_polar(polar dapos);
#endif
原始檔
#include
#include
#include "coordin.h"
polar rect_to_polar(rect xypos)
void show_polar(polar dapos)
原始檔 主程式
#include
#include "coordin.h"
using namespace std;
int main()
cout<<"bye!\n";
return 0;}
第九章(筆記)
轉移指令是可以修改ip,或同時修改cs和ip的指令 offset 是用於提取標號偏移位址的操作符 jmp在第2章裡說到時用於修改ip或同時修改cs和ip的轉移指令,這章裡單獨的jmp指令是乙個無條件的轉移指令 jmp short 標號 是實現段內短轉移 jmp near ptr 標號 是實現段內近轉...
第九章作業
班級 0401304 學號 2013211526 姓名 鄧小俊 2.身份驗證 依據使用者所提供的身份資訊,來進行登入驗證,可以再細分為使用者是否可以登入sql sever 使用者是否可以登入到指定的目標資料庫等。授權 已通過身份驗證的使用者,檢查其所被賦予的許可權,是否可以訪問或者執行目標的物件 3...
第九章 引用
引用擁有指標的所有功能,只是語法更加的簡單 1 引用就是別名,變數的另外乙個名字,變數和別名它們的位址是一樣的,操作別名就是操作變數 2 引用就是別名常量,一旦引用被初始化就不能再改變了 可以理解為指標常量,指向的值不能改變,能改變的只是它的該位址處的值 3 引用物件huamn mike human...