【C++】宏及STL的相关概念

本文介绍了C++中的宏定义及其特点,包括预编译过程和系统宏的区别。此外,详细讲解了STL的基本概念,如序列式与关联式容器,并阐述了迭代器的作用。深入浅出地解读了C++编译流程和STL在编程中的应用实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.cppindex.iindex.s.obj.oindex.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具有高重用性、高性能、高移植性。是一个容器。
容器分为序列式容器和关联式容器:

  • 序列式容器:容器的元素是由进入容器时机和地点来决定。
  • 关联式容器:容器已有 规则,进入容器的元素的位置不是由时机和地点决定。

迭代器

可以视为一个指针,一次指向一个容器;实际上迭代器是一个类,这个类封装一个指针。

相关链接

【动画教程】开学了快来上网课!C语言宏定义预处理命令详解
黑马程序员2017C++STL教程(已完结)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一拳Marx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值