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

溫馨提示×

溫馨提示×

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

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

C++ 中pragma once 與 #ifndef _XXX_H_ #define _XXX_H_的區別

發布時間:2020-08-22 02:29:46 來源:腳本之家 閱讀:215 作者:lqh 欄目:編程語言

C++ 中pragma once 與 #ifndef _XXX_H_ #define _XXX_H_的區別

pragma once 之前一直用的很好,今天和同事的配合中發現自己沒有真正理解pragma once。

原因:同事喜歡把公共的頭文件通過生成后事件復制到一個公共的include文件夾中。

摘抄:

#ifndef方式:   
#ifndef __SOMEFILE_H__   
#define __SOMEFILE_H__  1   ... ... // 一些聲明語句   
#endif  

  #ifndef的方式依賴于宏名字不能沖突,這不光可以保證同一個文件不會被包含多次,也能保證內容完全相同的兩個文件不會被不小心同時包含。當然,缺點就是如果不同頭文件的宏名不小心“撞車”,可能就會導致頭文件明明存在,編譯器卻硬說找不到聲明的狀況

#pragma方式 

 
#pragma once   ... ... // 一些聲明語句  

#pragma once 是個預處理指令,在頭文件的最開始加入這條指令表示:這個頭文件只被編譯一次     #pragma once則由編譯器提供保證:同一個文件不會被包含多次。注意這里所說的“同一個文件”是指物理上的一個文件,而不是指內容相同的兩個文件。帶來的好處 是,你不必再費勁想個宏名了,當然也就不會出現宏名碰撞引發的奇怪問題。對應的缺點就是如果某個頭文件有多份拷貝,本方法不能保證他們不被重復包含。當 然,相比宏名碰撞引發的“找不到聲明”的問題,重復包含更容易被發現并修正。

總結: 1. #ifndef 由語言支持所以移植性好,#pragma 可以避免名字沖突

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節

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

AI

镇雄县| 准格尔旗| 军事| 云龙县| 万州区| 包头市| 德州市| 东港市| 贵南县| 绥棱县| 同仁县| 奉新县| 陇川县| 涟水县| 绵阳市| 彰化县| 玉山县| 康马县| 喀喇| 乐陵市| 岳阳市| 建水县| 临漳县| 青田县| 钟祥市| 宣恩县| 新竹市| 阿合奇县| 和顺县| 井冈山市| 南昌县| 吴江市| 平陆县| 常州市| 吴堡县| 浮梁县| 神木县| 衡东县| 张北县| 五华县| 循化|