c 的基本框架

2021-07-31 16:52:42 字數 1687 閱讀 2796

c++真是個神奇的東西,本人學c++也有一段時間了。現在想把所學知識整理一下,順便與各位分享,有錯誤之處還望各位指點。

秉承著少說虛話,多幹實事的原則,直接先上乙個程式再說

#include//標頭檔案 

using namespace std; //命名空間

int main() //主函式

輸出結果為:

hello world

這應該可以說是c++最經典的程式之一了吧。不過借用這個來理解c++程式最基本的結構還是非常不錯的。

先宣告一點:兩根斜槓(//)後面的內容是注釋,其作用僅僅是為了讓程式更為通俗易懂而已,與程式的編譯與執行沒有任何關係。

我們接下來來了解一下c++程式的基本框架:

1、標頭檔案:可以認為標頭檔案是你在呼叫函式時的乙個橋梁。c++的程式是由乙個又乙個的函式組成的,比如說剛剛這個程式裡 就可以說包含了兩個函式(其中乙個函式包含在另乙個函式裡頭),乙個是主函式(main 函式),還有乙個是輸出函式cout。在c++中,除了主函式及自定義的函式,其他的函式都是包含於某些標頭檔案裡的,它們被稱為庫函式,想要呼叫這些函式,只要在程式的開頭寫上包含該函式的標頭檔案就可以了。比如說包含cout函式的標頭檔案是(輸入輸出流),而我在函式中呼叫了cout這個函式,因此我需要在開頭寫上#include(包含輸入輸出流)即可。

3、主函式:這是整個程式最為核心,也是最重要的部分。因為它是系統預設的你這個程式執行的入口,換句話說,當你的源**通過編譯,成為乙個程式,在計算機上執行時,它是從int main()(其中int代表這個函式的返回值型別)這裡開始的,一句一句往下走。如果沒有這個主函式,程式就執行不了,事實上你有可能編譯都無法通過,因為它有可能報出這麼一句話:[error] ld returned 1 exit status 。

4、函式體:主函式宣告後,下面有一對花括號(),花括號裡面所表達的就是你這個函式想要幹什麼。比如說這乙個程式,他的main函式想要做的是輸出hello world,因為它呼叫了乙個輸出函式(cout),這個函式以後我們會詳細說,在這裡先暫且略過。有乙個非常重要的點就是每乙個函式體都必須在一對花括號內,只有這樣,系統才能真正明白你想要表達什麼(編譯才能通過)。

5、返回值:本程式主函式的最後有一句話:return 0,它的意思是主函式結束後向作業系統返回乙個0值,也就是說,如果你的程式順利地結束了,你的作業系統會得到乙個0值,如果執行出錯,那麼得到的就也許是另外乙個值了。不過,函式的返回值當然也可以是其他值,但是主函式的返回值我們一般預設為0,而且大多數演算法競賽中也會要求主函式的返回值為0。最後說一句,函式返回乙個值返回給的是呼叫這個函式的地方,因為呼叫主函式的是作業系統,因此,函式也就是向作業系統返回乙個值,而且,每乙個函式都必須要有乙個返回值,除了void函式以外,不過這些都是後面的知識了,並且主函式的返回值必須是int型的(至於什麼是int型,下次我們再談)。

說了這麼多,總結起來,c++的程式結構一般就是:

標頭檔案1

標頭檔案2 ……

標頭檔案n

命名空間

自定義函式1

(如果有的話)

…… 自定義函式n(如果有的話)

主函式

其中有必要強調的一點是:c++的語句是以";"(分號)分隔開的,而且這個分號必須是英文輸入法下的分號(好像還要求是半形的),如果這些細節沒注意,編譯就通不過,所以一般程式設計時就在英文輸入法半形模式下寫源**。

MPLS的基本框架

mpls 多協議標籤交換 不是一種協議,而是一種基於標籤 機制 mpls包含兩個平面 控制平面 controlplane 資料平面 dataplane 建立mpls con int s2 0 if mpls ip con mpls ldp router id lo0 force 強制使用lo0作為r...

爬蟲的基本框架

import requests 呼叫這個庫檔案 defgethtml url 定義名為gethtml的函式 try r requests.get url,timeout 30 獲取傳入的url這個位址的資料,在獲取時間,超過30秒,則判定網頁假死。r.raise for status 如果返回值不是...

多執行緒記憶體池基本框架 C

為了使多個執行緒併發地分配和釋放記憶體,必須在分配器方法中新增互斥鎖,下面是一種多執行緒記憶體池實現的基本框架 template class mtmemorypool template inline void mtmemorypool alloc size t size template inlin...