08.頭文件和標準庫函數(shù)

頭文件

以上我們所寫的所有的程序代碼全都是在同一個源文件中,那么若我們的項目非常龐大,或者我們的程序非常復雜,那么我們的程序還是只寫在同一個源文件中么?答案是否定的,而是把一些函數(shù)和類等寫在頭文件中,當我們用到他們的時候,我們就#include他們這樣豈不是很方便么。
這里我們就介紹頭文件的概念。頭文件和cpp文件不同,它的文件后綴是.h
你是不是想到了<stdio.h><stdlib.h>等等,沒錯他們都是頭文件。那么問什么叫他們頭文件呢?這里本人的理解為,無論你在哪個文件中引用了頭文件里面的內容,你都要先把頭文件加載進來,也就是一般吧#include放在最前面,所以有點事文件頭的感覺。
廢話不多說,我們來看個例子

 #include<iostream>
using namespace std;

void foo(){
    cout << "hello world!"<<endl;
}
int main(){
    foo();
}

這里我們聲明并定義了一個foo函數(shù),然后在main函數(shù)中調用了它,那么按照我們剛剛講的,能不能把foo函數(shù)寫在另一個頭文件當中呢,我們來試試。

foo.h

#include<iostream>
using namespace std;
void foo(){
    cout << "hello world!" << endl;
}

main.cpp

#include<iostream>
#include"foo.h"
using namespace std;

int main(){
    foo();
}

Paste_Image.png

我們把foo函數(shù)寫在了叫foo.h 的頭文件中,然后我們在main.cpp源文件中加載了這個頭文件,#include "foo.h" 然后我們就可以引用里面的函數(shù)foo()了,是不是很簡單呢?看到這里相信你對頭文件有了一定的理解。
那么我們來看一些標準庫函數(shù)。

標準庫函數(shù)

什么叫做標準庫函數(shù)呢?也就是c++給出的標準函數(shù),然后把它們統(tǒng)一的放到了一些頭文件當中,構成了一個函數(shù)庫,這么說是不是很好理解呢。
下面舉幾個例子。
與數(shù)學相關的函數(shù)都封裝在了叫<math>、<math.h>、<cmath>的頭文件當中,至于他們的區(qū)別,這里不做研究。所以你可以這么寫
#######include<math>或者
#######include<math.h>或者
#######include<cmath>


Paste_Image.png
#include<iostream>
#include<cmath>//引入頭文件
using namespace std;

int main(){
    int n = -5;
    cout << n << "的絕對值是: " << abs(n) << endl;//abs()是cmath頭文件中的函數(shù)
    
}
Paste_Image.png

除了與數(shù)學相關的標準庫函數(shù),c++常用的還有字符串處理相關的標準庫
#######include<string>
#######include<string.h>
#######include<cstring>
關于三者的聯(lián)系與區(qū)別

Paste_Image.png
#include<iostream>
#include<string>
using namespace std;

int main(){
    string str1 = "hello world";
    cout << str1 << endl;
    cout << str1.substr(0,5);
}

Paste_Image.png

對了其實我們每次使用的標準輸入輸出流cin>> cou<< 其實也定義在頭文件#include<iostream>當中。
講到這里,相信大家對頭文件和標準庫函數(shù),標準函數(shù)庫等概念有一定的理解了。下一節(jié)我們將介紹C++的一個重要的知識點的概念。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容