国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

全面了解#pragma once與 #ifndef的區(qū)別

2020-01-26 14:26:34
字體:
供稿:網(wǎng)友

為了避免同一個文件被include多次

1   #ifndef方式

2   #pragma once方式

在能夠支持這兩種方式的編譯器上,二者并沒有太大的區(qū)別,但是兩者仍然還是有一些細(xì)微的區(qū)別。

方式一:

#ifndef __SOMEFILE_H__
#define __SOMEFILE_H__
... ... // 一些聲明語句
#endif

方式二:

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

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

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

方式一由語言支持所以移植性好,方式二 可以避免名字沖突

以上這篇全面了解#pragma once與 #ifndef的區(qū)別就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 水富县| 凉山| 南宫市| 文安县| 醴陵市| 中西区| 塔城市| 雅安市| 大同市| 瓦房店市| 溆浦县| 察雅县| 北碚区| 鹤壁市| 通辽市| 自治县| 尼玛县| 潍坊市| 奉化市| 永寿县| 纳雍县| 建昌县| 久治县| 长宁区| 苏州市| 佛冈县| 清徐县| 娄烦县| 奉新县| 建阳市| 中山市| 合江县| 中西区| 亳州市| 沙洋县| 赣榆县| 鲁甸县| 商南县| 南郑县| 青神县| 浮梁县|