4

可能重复:
宏和预处理器之间的区别

我对 C++ 中的宏指令和预处理器指令有疑问,它们之间有什么区别?似乎它们或多或少相同?我试着在网上查了下,还是看不懂,谁能帮忙?

4

2 回答 2

10

预处理器指令是任何以 开头的语言特性,#例如#if, 。在正确的编译器启动之前,它们完全由预处理器作为一个单独的阶段进行处理。#pragma#include

宏是由 a 定义的任何东西#define;它只是一种特殊的预处理器指令。

于 2013-01-06T18:37:59.480 回答
9

宏是预处理器指令的子集:

#define X

这是一个宏一个预处理器指令。

#pragma once

这只是一个预处理器指令。

宏开始#define并定义将在预处理时扩展的元素。

于 2013-01-06T18:37:55.603 回答