【C++】宏及STL的相关概念
宏
在 c c c和 c + + c++ c++中以 # \# #开头的均为预处理命令,宏定义也非常简单,通常用 # d e f i n e \#define #define关键字来声明
宏的特点
宏可以理解成简单的函数,但是是预编译的时候就进行处理
系统宏
" " "" ""为用户开发头文件,先在用户定义主 函数里找; < > <> <>为系统头文件,先在系统文件目录找
条件编译
只编译部分函数段
c语言编译流程
i n d e x . c p p index.cpp index.cpp里面有一些宏,进入预编译器把宏替换了变成 i n d e x . i index.i index.i,进入编译器将预编译文件变成汇编文件 i n d e x . s index.s index.s,然后进入汇编器生成目标文件 . o b j . o .obj.o .obj.o(此时是二进制文件,打开即为二进制乱码),再进入连接器,比如之前写过很多个函数,这里即把很多个 . o .o .o文件合在一起即为可执行文件。
i n d e x . c p p → i n d e x . i → i n d e x . s → . o b j . o → i n d e x . e x e index.cpp \rightarrow index.i \rightarrow index.s \rightarrow .obj.o \rightarrow index.exe index.cpp→index.i→index.s→.obj.o→index.exe
S T L STL STL基本概念
容器
S T L ( S t a n d a r d T e m p l a t e L i b r a r y ) STL(Standard\,Template\,Library) STL(StandardTemplateLibrary)标准模板库, S T L STL STL是内置的。
S T L STL STL具有高重用性、高性能、高移植性。是一个容器。
容器分为序列式容器和关联式容器:
- 序列式容器:容器的元素是由进入容器时机和地点来决定。
- 关联式容器:容器已有 规则,进入容器的元素的位置不是由时机和地点决定。
迭代器
可以视为一个指针,一次指向一个容器;实际上迭代器是一个类,这个类封装一个指针。