-1

有人能告诉我#include<> 和#define 之间的区别吗?我知道#include<> 用于包含头文件,而#define 用于定义宏或常量。是不是它们根本不相似?

#include"abc.h"
#define "abc.h"
int main()
{
cout<<"Hello";
return 1;

}
4

2 回答 2

9

相似之处

  • 它们都是 C++ 的一部分。
  • 它们都继承自 C.
  • 它们都是由预处理器实现的,它在将源代码转换到编译器的过程中。
  • 它们都以#.
  • 它们都包含一个英文单词。
  • 它们都以小写形式呈现。
  • 它们都在您的 [broken] 示例代码中使用。

差异

  • 他们做什么。
    • #include包括东西
    • #define定义事物
  • 它们在您的 [损坏的] 示例代码中有多正确。
    • 你的#include用法是正确的
    • 你的#define用法不正确
于 2013-06-26T09:19:02.743 回答
4

#include如您所说,用于在实际编译之前包含文件。

#define 用于定义一个宏.. 在编译之前被它的值替换

如果您#define max 10 在编译之前编写,那么所有出现的“max”都将被数字 10 替换...

此外,您应该参考这篇关于 C 预处理器的 Wikipedia 文章

于 2013-06-26T09:16:13.870 回答