• <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>

            《c++primer》學習隨筆——預處理器變量

            第一遍看這本書的時候,稍微掃了一遍這個內容,當時看起來有時生硬,不是很懂,等于跳了過去了。現在再看,感覺很有用,也基本能看明白了。說個題外話,有時候看有些內容,第一次看到的時候,覺得很難理解很難理解,就是反復看好幾遍也理解不了。那么不妨就放下這段內容,也許你學過后面的內容的后,有天你再返回來看當初不懂的,就豁然開朗了,學習這本c++primer的過程中,真的有太多的這種體會了。

            開始正題:

            #define 指示的接受后面的名字,并把這個名字定義為預處理器變量,常用大寫。
            #ifndef  字面意思就是if not define 如果沒有定義。就是如果后面的名字沒有被定義成預處理器變量,那么這句話后所有的程序都將被執行,直到遇見#endif

            說明具體用法和意義。
            假如我自己寫了兩個頭文件one.h,和two.h。其中one.h包括的是一個類的定義;two.h由于也要用到這個類,所以這個頭文件里面必然要有一行程序:#include“one.h”。
            而我們的主程序里面,開始必然要把我們自己定義的頭文件給加進去,必然應該有兩行程序:#include“one.h”和#include“two.h”,這樣實際上one.h這個頭文件被包含了兩次,那個類的也相當于定義了兩次,必然編譯時會出現錯誤,為了解決這個問題。在one.h里應該加入這么一段程序:
            #ifndef ONE
            #define ONE
            //這里應是one.h里面本來應該有的代碼程序
            #endif
            這樣這個頭文件在主程序處理時只會被處理一次。因為:當主程序首先碰到這句::#include“one.h,時,由于是第一次處理one頭文件,ONE這個預處理器變量還沒有定義呢,所以會執行#define ONE這個語句,ONE變量被定義了,頭文件one中的代碼也會被執行了。當主程序碰到這句:#include“two.h”,由于two頭文件中,也有這么一句:#include“one.h”,然后程序就會再次進入到one這個頭文件中執行,這是由于ONE這個變量在第一次執行one這個頭文件時已經被定義了,所以#ifndef ONE判斷失敗,不會執行后續的代碼了,也就不會在執行one頭文件中實際有用的代碼了。這樣保證了頭文件只會被處理一次。

            因此應該在自己編寫的每個頭文件中都加上保護符,避免頭文件被多次包含。

            posted on 2011-06-15 20:13 古月 閱讀(865) 評論(0)  編輯 收藏 引用

            <2025年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            導航

            統計

            常用鏈接

            留言簿

            隨筆分類

            隨筆檔案

            文章檔案

            C++/C

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            久久久久久无码Av成人影院| 狠狠色狠狠色综合久久| 久久亚洲国产欧洲精品一| 国产精品99久久99久久久| 国产精品天天影视久久综合网| 久久天天躁狠狠躁夜夜网站| 日韩欧美亚洲综合久久影院d3| 久久这里只精品99re66| 无遮挡粉嫩小泬久久久久久久| 久久久久免费精品国产| 国产精品久久久久久久久久影院| 久久se精品一区精品二区| 久久99国产精品久久99小说 | 久久亚洲国产精品123区| 国产A三级久久精品| 久久国产视屏| 国产99久久精品一区二区| 久久久久久国产a免费观看黄色大片| 精品久久久久久国产潘金莲 | 久久久久久国产精品免费免费| 综合久久国产九一剧情麻豆| 欧美午夜A∨大片久久 | 中文字幕人妻色偷偷久久| 国产精品嫩草影院久久| 国内精品久久久久久久97牛牛| 久久人人爽人人爽人人爽| 精品久久久久久无码中文字幕| 九九久久99综合一区二区| 久久精品人人做人人妻人人玩| 一本色道久久99一综合| 久久人人爽人人爽人人av东京热| 久久播电影网| 久久亚洲欧洲国产综合| 国产一区二区精品久久岳| 久久亚洲欧美日本精品| 久久精品国产99国产电影网 | 日韩欧美亚洲综合久久 | 一本久久免费视频| 日日狠狠久久偷偷色综合96蜜桃| 品成人欧美大片久久国产欧美...| 久久午夜伦鲁片免费无码|