最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++ 中pragma once 與 #ifndef _XXX_H_ #define _XXX_H_的區(qū)別

 更新時(shí)間:2017年04月20日 16:35:28   投稿:lqh  
這篇文章主要介紹了C++ 中pragma once 與 #ifndef _XXX_H_ #define _XXX_H_的區(qū)別的相關(guān)資料,需要的朋友可以參考下

C++ 中pragma once 與 #ifndef _XXX_H_ #define _XXX_H_的區(qū)別

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

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

摘抄:

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

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

#pragma方式 

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

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

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

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

相關(guān)文章

  • Qt 儀表盤的實(shí)現(xiàn)示例

    Qt 儀表盤的實(shí)現(xiàn)示例

    儀表盤在很多汽車和物聯(lián)網(wǎng)相關(guān)的系統(tǒng)中很常用,本文就來介紹一下Qt 儀表盤的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • C++數(shù)據(jù)結(jié)構(gòu)之實(shí)現(xiàn)鄰接表

    C++數(shù)據(jù)結(jié)構(gòu)之實(shí)現(xiàn)鄰接表

    這篇文章主要為大家詳細(xì)介紹了C++數(shù)據(jù)結(jié)構(gòu)之實(shí)現(xiàn)鄰接表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C語言中的文件操作詳解

    C語言中的文件操作詳解

    這篇文章主要介紹了C語言中的文件操作詳解,使用文件可以將數(shù)據(jù)直接存放到電腦的硬盤上,做到了數(shù)據(jù)的持久化
    2022-07-07
  • C語言修煉之路初識(shí)分支句?循環(huán)助本心下篇

    C語言修煉之路初識(shí)分支句?循環(huán)助本心下篇

    現(xiàn)實(shí)生活中我們經(jīng)常需要根據(jù)不同的條件做出不同的選擇。程序設(shè)計(jì)中也需要根據(jù)條件來選擇不同的程序進(jìn)行處理,這稱之為分支結(jié)構(gòu),當(dāng)條件表達(dá)式不存在時(shí),它被假設(shè)為真。您也可以設(shè)置一個(gè)初始值和增量表達(dá)式,一般情況下,C?程序員偏向于使用?for(;;)?結(jié)構(gòu)來表示一個(gè)無限循環(huán)
    2022-03-03
  • 淺談十進(jìn)制小數(shù)和二進(jìn)制小數(shù)之間的轉(zhuǎn)換

    淺談十進(jìn)制小數(shù)和二進(jìn)制小數(shù)之間的轉(zhuǎn)換

    下面小編就為大家?guī)硪黄獪\談十進(jìn)制小數(shù)和二進(jìn)制小數(shù)之間的轉(zhuǎn)換。小編覺得挺不錯(cuò)的現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • C語言中二級(jí)指針的實(shí)例詳解

    C語言中二級(jí)指針的實(shí)例詳解

    這篇文章主要介紹了C語言中二級(jí)指針的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家掌握理解二級(jí)指針的知識(shí),需要的朋友可以參考下
    2017-10-10
  • c++異常處理機(jī)制示例及詳細(xì)講解

    c++異常處理機(jī)制示例及詳細(xì)講解

    本篇文章主要是對(duì)c++異常處理機(jī)制示例進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2014-02-02
  • c++如何控制輸出浮點(diǎn)數(shù)小數(shù)點(diǎn)后若干位

    c++如何控制輸出浮點(diǎn)數(shù)小數(shù)點(diǎn)后若干位

    這篇文章主要介紹了c++如何控制輸出浮點(diǎn)數(shù)小數(shù)點(diǎn)后若干位問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 基于Qt OpenCV的圖像灰度化像素操作詳解

    基于Qt OpenCV的圖像灰度化像素操作詳解

    這篇文章主要為大家詳細(xì)介紹了基于Qt+OpenCV的圖像灰度化像素操作:最大值法、平均法、加權(quán)平均值法,感興趣的小伙伴可以了解一下
    2022-07-07
  • 獲取C++變量類型的簡(jiǎn)單方法

    獲取C++變量類型的簡(jiǎn)單方法

    這篇文章主要介紹了獲取C++變量類型的簡(jiǎn)單方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09

最新評(píng)論

南平市| 自治县| 壤塘县| 田阳县| 泗水县| 呼伦贝尔市| 泗水县| 岐山县| 沁水县| 上饶市| 南涧| 三台县| 吉安市| 深泽县| 乐都县| 宜兴市| 项城市| 博罗县| 罗江县| 正定县| 建湖县| 延边| 白朗县| 原平市| 思茅市| 淮安市| 岫岩| 静宁县| 屏南县| 饶阳县| 祁东县| 安国市| 永新县| 麻江县| 丽水市| 曲水县| 东兴市| 盈江县| 吉安县| 仙桃市| 华池县|