国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++中頭文件的概念與基本編寫方法

2020-01-26 14:48:02
字體:
供稿:網(wǎng)友

1 標(biāo)準(zhǔn)庫中的頭文件
C++標(biāo)準(zhǔn)庫中的一切內(nèi)容都被放在名字空間std中(名字空間中的內(nèi)容對外是不可見的),但是帶來了一個新問題,無數(shù)現(xiàn)有的C++代碼都依賴于使用了多年的偽標(biāo)準(zhǔn)庫中的功能,如聲明在<iostream.h>等頭文件中的功能,使用std包裝標(biāo)準(zhǔn)庫導(dǎo)致現(xiàn)有代碼的不可用,為了兼容這種情況,標(biāo)準(zhǔn)委員會為包裝了std的那部分標(biāo)準(zhǔn)庫創(chuàng)建了新的頭文件,新的頭文件的文件名與舊的一樣,只是沒有.h這個后綴,如<iostream.h>就變成了<iostream>。對于C頭文件,采用同樣的方法,但還在每個頭文件名前加了字符c,如<string.h>就變成了<cstring>,<stdio.h>變成了<cstdio>。最好使用新的文件頭,使用新的文件頭的C++程序,需要使用using namespace std或者using namespace std::指定的類名,等方法來使需要的類對于我們的代碼可視。

2 自定義的頭文件
為了防止頭文件被重復(fù)引用,最好使用預(yù)處理定義,如下所示:

#ifndef MYHEAD_H#define MYHEAD_H……//頭文件中的內(nèi)容#endif

 

(1)#ifndef:
   指示符#ifndef用來檢查頭文件的內(nèi)容是否在前面已經(jīng)被定義過,如果定義過,則#ifndef與#endif之間的語句將不被執(zhí)行.所以習(xí)慣上要把頭文件的定義寫在這兩個語句之間.
如:對于MYHEAD.H這個頭文件

#ifndef MYHEAD_H#define MYHEAD_H#include "myhead.h"  ......#endif

(2) #ifdef
  指示符#ifdef常常被用來判斷一個預(yù)處理器常量是否已被定義,以便有條件地包含程序代碼。
如:

 int main() {  #ifdef DEBUG  cout<<"Beginning execution of main()/n";  #endif  string word;  vector<string> text;  while(cin>>word)  { #ifdef DEBUG cout<<"word read:"<<word<<"/n"; #endif text.push_back(word);   } //..... }

在此程序中,如果定義了DEBUG,則其中包含的兩個語句都將被執(zhí)行,如果沒有定義,則其中的兩個輸出語句不被執(zhí)行。

3 預(yù)處理相關(guān)知識
(1) #ifdef :判斷一個預(yù)處理常量是否被定義,如#infef DEGUG
(2) #ifndef:判斷一個預(yù)處理常量是否沒被定義
(3) #define:定義一個預(yù)處理常量,如#define DEBUG
(4) #include
(5) #endif
(6) 對預(yù)處理常量的定義還可以在編譯時進(jìn)行,如CC

主站蜘蛛池模板: 利津县| 大竹县| 正镶白旗| 清河县| 山阴县| 保德县| 浦江县| 聊城市| 申扎县| 积石山| 包头市| 隆德县| 保定市| 重庆市| 昌都县| 富裕县| 若羌县| 西昌市| 靖西县| 枞阳县| 太保市| 博爱县| 金平| 宁河县| 绵阳市| 漾濞| 林西县| 天祝| 通江县| 曲靖市| 南城县| 龙游县| 南宫市| 基隆市| 新津县| 元朗区| 探索| 务川| 涿鹿县| 徐水县| 伊吾县|