自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C++預(yù)處理命令簡要介紹

開發(fā) 后端
C++預(yù)處理命令種類繁多,不過所有的命令都將會以“#”號開頭。在這里我們將會針對三個(gè)比較常用的C++預(yù)處理命令進(jìn)行一個(gè)簡單的介紹。

C++編程語言一經(jīng)推出就憑借自身性能的優(yōu)勢躍居開發(fā)領(lǐng)域領(lǐng)頭羊地位。我們今天將會在這篇文章中為大家介紹一下有關(guān)C++預(yù)處理命令在宏的操作中體現(xiàn)了哪些作用。希望可以幫助大家輕松理解這方面的知識。#t#

C++中宏總結(jié)C程序的源代碼中可包括各種編譯指令,這些指令稱為預(yù)處理命令。雖然它們實(shí)際上不是C語言的一部分,但卻擴(kuò)展了C程 序設(shè)計(jì)的環(huán)境。本節(jié)將介紹如何應(yīng)用預(yù)處理程序和注釋簡化程序開發(fā)過程,并提高程序的可讀性。

宏不是C++ 語言的一部分,宏在編譯前由預(yù)處理器處理。 宏的部分功能在C++ 中可以由template、inline、const代替。我認(rèn)為現(xiàn)在保留在C++中的***用處是自動代碼生成ANSI標(biāo)準(zhǔn)定義的C++預(yù)處理命令包括:

#define,#error,#i nclude,#if,#else,#elif,#endif,#ifdef,#ifndef,#undef,#line,#pragma等。

非常明顯,所有預(yù)處理命令均以符號#開頭,下面我們將會主要針對前三個(gè)常用的處理命令分別加以介紹。

C++預(yù)處理命令1、#define

命令#define定義了一個(gè)標(biāo)識符及一個(gè)串。在源程序中每次遇到該標(biāo)識符時(shí),均以定義的串代換它。ANSI標(biāo)準(zhǔn)將標(biāo)識符定義為宏名,將替換過程稱為宏 替換。命令的一般形式為:

#define identifier string

注意:

該語句沒有分號。在標(biāo)識符和串之間可以有任意個(gè)空格,串一旦開始,僅由一新行結(jié)束。

宏名定義后,即可成為其它宏名定義中的一部分。

宏替換僅僅是以文本串代替宏標(biāo)識符,前提是宏標(biāo)識符必須獨(dú)立的識別出來,否則不進(jìn)行替換。例如:

#define XYZ this is a test,使用宏printf("XYZ");//該段不打印"this is a test"而打印"XYZ"。因?yàn)轭A(yù)編譯器識 別出的是"XYZ"

如果串長于一行,可以在該行末尾用一反斜杠' \'續(xù)行。

C++預(yù)處理命令2、#error

處理器命令#error強(qiáng)迫編譯程序停止編譯,主要用于程序調(diào)試。

C++預(yù)處理命令3、#i nclude

命令#i nclude使編譯程序?qū)⒘硪辉次募度霂в?i nclude的源文件,被讀入的源文件必須用雙引號或尖括號括起來。例如:

#include"stdio.h"或者#include

這兩行代碼均使用C編譯程序讀入并編譯用于處理磁盤文件庫的子程序。

將文件嵌入#include命令中的文件內(nèi)是可行的,這種方式稱為嵌套的嵌入文件,嵌套層次依賴于具體實(shí)現(xiàn)。

如果顯式路徑名為文件標(biāo)識符的一部分,則僅在哪些子目錄中搜索被嵌入文件。否則,如果文件名用雙引號括起來,則首先檢索當(dāng)前工作目錄。如果未發(fā)現(xiàn)文件, 則在命令行中說明的所有目錄中搜索。如果仍未發(fā)現(xiàn)文件,則搜索實(shí)現(xiàn)時(shí)定義的標(biāo)準(zhǔn)目錄。

如果沒有顯式路徑名且文件名被尖括號括起來,則首先在編譯命令行中的目錄內(nèi)檢索。

如果文件沒找到,則檢索標(biāo)準(zhǔn)目錄,不檢索當(dāng)前工作目錄。

以上就是針對三個(gè)常用的C++預(yù)處理命令的簡單介紹。

責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2009-08-07 17:45:29

C#預(yù)處理

2009-08-07 17:41:40

C#預(yù)處理

2011-06-21 10:00:21

預(yù)處理指令

2016-12-15 13:47:29

C語言預(yù)處理命令

2010-02-06 10:29:52

C++ #define

2010-01-22 14:12:40

C++

2023-10-04 00:10:00

預(yù)處理宏定義

2011-08-17 10:29:39

Objective-C預(yù)處理

2009-12-18 08:57:27

Linux shell

2010-01-15 15:52:18

CC++

2010-01-15 10:41:06

CC++

2010-01-26 10:27:43

C++語言

2009-08-19 09:57:01

C++ RAII

2009-09-01 15:25:01

C#位域

2010-03-15 11:01:11

無線覆蓋

2010-01-25 11:21:01

C++語法

2010-01-25 18:19:17

C++特性

2010-02-03 16:35:45

C++回文

2010-01-18 10:16:58

學(xué)習(xí)C++

2010-01-25 17:55:38

C++頭文件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號