91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C/C++函數重復定義、頭文件重復包含、互相包含問題

發布時間:2020-07-18 08:04:38 來源:網絡 閱讀:5008 作者:李昊華 欄目:編程語言


1、避免頭文件重復包含


// test.h 此段宏的意思是如果定義了宏變量TEST_H_則不再定義它
#ifndef TEST_H_
#define TEST_H_
//頭文件內容
#endif

或者

// test.h 告訴預編譯器只包含一次
#pragma once


2、避免重復定義


  不要將函數定義放置在頭文件里面,正確的做法是頭文件放置函數聲明,源文件放置函數定義。因為源文件是分別編譯的,假如頭文件放置了函數定義,包含該頭文件的每一個源文件都會定義相應的函數,從而導致重復定義。但是幾種情況可以例外:內聯函數的定義、類的定義、const和static變量,以及模板類/函數要求頭文件必須包含定義才可以模板化。


3、避免頭文件互相包含和循環包含


  頭文件互相包含會導致遞歸包含,頭文件互相依賴的邏輯本身就是錯誤的而且無法實現,頭文件循環包含同理(比如a.h包含b.h,b.h包含c.h,c.h包含a.h)。正確的做法是將頭文件的依賴降到最小,盡量在源文件中包含頭文件,頭文件中盡量用前置聲明(盡量使用指針和引用,相關定義放到源文件中 等)。前置聲明的類是不完全類型,不完全類型只能以有限方式使用。不能定義該類型的對象。不完全類型只能用于定義指向該類型的指針及引用,或者用于聲明(而不是定義)使用該類型作為形參類型或返回類型的函數。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西华县| 黄大仙区| 南丹县| 长白| 河间市| 临西县| 榆中县| 门源| 平谷区| 伊春市| 库车县| 高州市| 淳化县| 北川| 翁牛特旗| 呼伦贝尔市| 乌什县| 德昌县| 维西| 新宁县| 三明市| 丰原市| 祁阳县| 临桂县| 宣武区| 奉化市| 台前县| 濮阳市| 柳河县| 亳州市| 霍邱县| 那坡县| 泰州市| 彰化市| 长汀县| 天气| 电白县| 宣武区| 珠海市| 黎城县| 武宣县|