#pragma once与#ifndef的区别?
生活随笔
收集整理的這篇文章主要介紹了
#pragma once与#ifndef的区别?
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
/*
2017-12-20 創(chuàng)建人:Ruo_Xiao
*/
作用:只要在頭文件的最開始加入這條指令就能夠保證頭文件被編譯一次。 最先應(yīng)用與MicroSoftware Visual C++中,后來陸續(xù)被其他編譯器所支持,所以不支持跨平臺(tái)。 只能對(duì)此文件有效,若一個(gè)文件有多個(gè)拷貝,且工程包含了這些拷貝文件,那么這些文件都會(huì)加入到工程中。
作用:防止該頭文件被重復(fù)包含。 受C/C++語言標(biāo)準(zhǔn)支持,所有支持C++的編譯器都支持此預(yù)編譯指令,所以支持跨平臺(tái)。 只要文件內(nèi)容相同就可防止,即使一個(gè)文件的拷貝文件亦可避免重復(fù)包含,因?yàn)檫@個(gè)是通過宏指令進(jìn)行判斷的。 缺點(diǎn):如果ifndef使用的宏之前已經(jīng)存在了,那么這種方法就會(huì)失效,會(huì)報(bào)找不到類型聲明的錯(cuò)誤。
一、#pragma once
二、#ifndef … #define … (聲明) #endif
三、實(shí)例代碼
#ifndef __ClassName__H__ #define __ClassName__H__ (各種聲明) #endif----------#pragma once (各種聲明)總結(jié)
以上是生活随笔為你收集整理的#pragma once与#ifndef的区别?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sizeof和strlen()区别
- 下一篇: int、unsigned int、flo