最近在程式設計實踐課上重學C++,由于小組合作,自然就不是單純的一個人寫完代碼寫到一個檔案里完事,所有最近接觸了一下多檔案編程的邏輯,
首先,多檔案編程主要是為了組內合作,將一個專案分解成耦合度低的多個部分,使他們獨立考慮,結合面向物件可以更好的分工明確,各自完成編碼任務
C++檔案大致會按后綴名分為兩類:
.h檔案:用于常量的宣告,函式的宣告部分,類的宣告部分.cpp檔案:用于存放變數的宣告,函式的定義部分,類的實作部分
(但是由于貪吃蛇還是比較簡單,我并未做類的兩部分分離)
由于面向物件的特殊性,很多地方存在多個類之間的相互依賴,由于這種原因,我們的頭檔案可能會出現重復引入
為了解決這個問題,一個常見的方式是利用ifndef和define來避免重復定義類之類的東西(clion采用這種方式讓我比較深刻理解了各種define的意義,之前競賽完全沒有這樣的意識)
另一個常見的方式是#pragma one,用這個編譯指令,可以只控制引入檔案一次,但由于這是一種編譯指令,所以移植性很差,與這相同的還有_Pragma("once")這種寫法
另一個重要的方面就是命名空間(namespace),這東西是用來避免兩個人的代碼命名出現重合的,現在小專案不太用得起來,后續應該會嘗試,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/545545.html
標籤:其他
