• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            小默

            [zz]MFC - #pragma once 與 #ifndef的區別

            #ifndef方式:    
            #ifndef __SOMEFILE_H__    
            #define __SOMEFILE_H__    1     ... ... // 一些聲明語句    
            #endif    
            #ifndef的方式依賴于宏名字不能沖突,這不光可以保證同一個文件不會被包含多次,也能保證內容完全相同的兩個文件不會被不小心同時包含。當然,缺點就是如果不同頭文件的宏名不小心“撞車”,可能就會導致頭文件明明存在,編譯器卻硬說找不到聲明的狀況
             
            #pragma方式    
            #pragma once     ... ... // 一些聲明語句   
            #pragma once 是個預處理指令,在頭文件的最開始加入這條指令表示:這個頭文件只被編譯一次     #pragma once則由編譯器提供保證:同一個文件不會被包含多次。注意這里所說的“同一個文件”是指物理上的一個文件,而不是指內容相同的兩個文件。帶來的好處 是,你不必再費勁想個宏名了,當然也就不會出現宏名碰撞引發的奇怪問題。對應的缺點就是如果某個頭文件有多份拷貝,本方法不能保證他們不被重復包含。當 然,相比宏名碰撞引發的“找不到聲明”的問題,重復包含更容易被發現并修正。

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

            posted on 2009-09-30 20:15 小默 閱讀(535) 評論(0)  編輯 收藏 引用 所屬分類: Language

            導航

            統計

            留言簿(13)

            隨筆分類(287)

            隨筆檔案(289)

            漏洞

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            久久精品国产精品亚洲人人| 久久人人青草97香蕉| 久久精品国产精品青草app| 91精品国产高清久久久久久国产嫩草| 久久精品无码一区二区三区日韩| 久久精品国产亚洲AV久| 久久青青草原综合伊人| 久久精品国产免费观看三人同眠| 69久久精品无码一区二区| 久久精品人人做人人爽电影| 欧美伊香蕉久久综合类网站| 久久久久亚洲AV片无码下载蜜桃 | 久久精品视频一| 日本福利片国产午夜久久| 久久精品国产2020| 久久激情亚洲精品无码?V| 久久精品国产亚洲av麻豆色欲| 久久久久人妻一区精品果冻| 狠色狠色狠狠色综合久久| 亚洲欧洲日产国码无码久久99| 免费一级欧美大片久久网 | 亚洲午夜精品久久久久久浪潮| 久久电影网一区| 精品国产VA久久久久久久冰| 久久午夜无码鲁丝片秋霞| 久久亚洲欧洲国产综合| 精品久久久久久久久久久久久久久| 99久久国产精品免费一区二区| 欧美亚洲日本久久精品| 欧美国产成人久久精品| 久久亚洲中文字幕精品一区| 久久伊人中文无码| 午夜精品久久久久久影视777| 色综合久久中文字幕综合网| 久久久国产一区二区三区| 久久久久亚洲精品男人的天堂| 精品99久久aaa一级毛片| 国产福利电影一区二区三区久久老子无码午夜伦不 | 久久国产色AV免费观看| 久久精品国产亚洲av日韩| AV无码久久久久不卡蜜桃|