#include<> 和 #define " " 有什么区别
what is the difference between #include<> and #define""
有人能告诉我#include<>之间的区别吗和#define。。我知道#include<>用于包含头文件,#define用于定义宏或常量。。他们是不是一点都不相似?
#include"abc.h"
#define "abc.h"
int main()
{
cout<<"Hello";
return 1;
}
相似性
- 它们都是C++的一部分
- 它们都是从C
- 它们都是由预处理器实现的,该预处理器在将源代码转换到编译器的过程中转换源代码
- 它们都是从
#
开始的 - 它们都包含一个英语单词
- 它们都以小写显示
- 它们都用在您的[损坏的]示例代码中
差异
- 他们做什么。
#include
包括事物#define
定义事物
- 它们在您的[损坏的]示例代码中的正确性如何。
- 您的
#include
用法正确 - 您的
#define
使用不正确
- 您的
#include
用于在实际编译之前包含一个文件。
#define
用于定义宏。。在编译之前被其值替换
如果您编写#define max 10
那么就在编译之前,所有出现的"max"都将被数字10…取代
此外,您应该参考维基百科上关于C预处理器的这篇文章
相关文章:
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- 在 .h 文件中的类中声明静态变量和在.cpp文件中声明"global"变量有什么区别
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 返回常量对象引用 (getter) 和仅返回字符串有什么区别?
- Qt:remove() 和 rmdir() 有什么区别
- 这 4 个 lambda 表达式之间有什么区别?
- 将向量作为类>(值)<向量启动和向量<类>[值]有什么区别
- typedef 枚举和枚举类有什么区别?
- &C::c 和 &(C::c) 有什么区别?
- ascii 和 unicode 在处理级别有什么区别吗?
- C 中的常量限定符和 C++ 中的常量限定符有什么区别?
- "ABC" 和 "ABC" ) 在C++中有什么区别?
- 空指针常量 (nullptr)、空指针值和空成员指针值之间有什么区别?
- 引用捕获和在 lambda 中通过引用发送参数有什么区别 (C++)
- 两种访问I2C总线的方法有什么区别?
- 两种模板示例有什么区别?
- 这两种C++语法之间有什么区别?
- lua 5.0.2 模块和 5.3.5 有什么区别?
- C++中"typedef"、"using"、"namespace"和"using namespace"有什么区别?
- std::vector和llvm::SmallVector之间有什么区别?什么时候用哪一个