日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++Primer::头文件设计基本原则 与 预处理器介绍

發布時間:2025/3/15 c/c++ 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++Primer::头文件设计基本原则 与 预处理器介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.學會編寫自己的頭文件

有多個文件組成的程序需要一種方法連接名字的使用和聲明,在C++中就是通過頭文件實現的。C++程序使用頭文件包含的不僅僅是類定義。 為了允許把程序寫成獨立的邏輯塊,C++支持所謂的分別編譯。正陽程序可以由多個文件組成。 頭文件為相關聲明提供了一個集中存放的位置。頭文件一般包含類的定義、extern變量的聲明和函數的聲明。使用或定義這些實體的文件要包含適當的頭文件。頭文件的正確使用可以帶來兩個好處:保證所有文件使用給定實體的同一聲明;當聲明需要修改時,只有頭文件需要更新。

2. 預處理器的簡單介紹

要使用頭文件,必須在源文件中#include該頭文件。很有必要了解#include指示是怎樣工作的。#include設施是C++預處理器的一部分。預處理器處理程序的源代碼,在編譯器之前運行。C++繼承了C的非常精細的預處理器。 #include指示只接受一個參數:頭文件名。預處理器用指定的頭文件的內容代替每個#include。我們自己的頭文件存儲在文件中,系統的頭文件可能特定與編譯器的更高效的格式保存。無論頭文件以什么樣的格式保存,一般都含有支持分別編譯所需的類定義及變量和函數的聲明。 采用多文件設計程序,我們很難避免多重包含頭文件的問題,C++給出了一個良好的解決方案。

3. 如何避免頭文件的多重包含

在編寫頭文件之前,我們需要引入一些額外的預處理器設施。預處理器允許我們自定義變量。(預處理器變量的名字在程序中必須是為唯一的。任何與預處理器變量相匹配的名字的使用都關聯到該處理器變量)。 為了避免名字沖突,預處理器變量通常全大寫字母表示。 預處理器有兩種狀態:已定義或未定義。定義預處理器變量和檢測其狀態所用的預處理器指示不同。#define指示接受一個名字并定義改名字為預處理器變量。#ifndef指示檢測指定的預處理器變量是否未定義。如果預處理器變量未定義,那么 跟在其后的的所有指示都被處理,直到出現#endif。那么,我們就可以使用這些設施來預防多次包含同一頭文件: #ifndef SALESITEM_H #define SALESITEM_H // defination of Sales_item class and related functions goes here #endif

4.區分標準頭文件和自己定義的頭文件

#include 指示接受兩種形式: #include<standard_header> #include "my_file.h"j尖括號里面的頭文件是標準頭文件。編譯器將會在預定義的位置集查找該頭文件。引號內的頭文件,并不是系統的頭文件,而是用戶自己編寫的頭文件。非系統頭文件的查找通常開始于源文件所在的路徑。




總結

以上是生活随笔為你收集整理的C++Primer::头文件设计基本原则 与 预处理器介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。