STL模板库1是什么?

2026-04-12 04:410阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1566个文字,预计阅读时间需要7分钟。

STL模板库1是什么?

1、什么是STL?C++ STL从广义上来分为三类:算法、容器和迭代器。算法包括排序、复制等常用算法,以及不同容器特定的算法。容器就是数据的存储形式,包括顺序容器(如vector、list)和关联容器(如map、set)。迭代器是用于遍历容器的抽象指针。

1、什么是STL?

C++ STL从广义来讲包括了三类:算法,容器和迭代器。

  • 算法包括排序,复制等常用算法,以及不同容器特定的算法。
  • 容器就是数据的存放形式,包括序列式容器和关联式容器还有容器适配器,序列式容器就是list,vector等,关联式容器就是set,map等,容器适配器就是stack,queue等。
  • 迭代器就是在不暴露容器内部结构的情况下对容器的遍历。

2、trivial destructor是什么?

“trivial destructor”一般是指用户没有自定义析构函数,而由系统生成。

反之,如果用户自定义了析构函数,则称之为“non-trivial destructor”,这种析构函数如果申请了新的空间一定要显式的释放,否则会造成内存泄漏。

3、使用智能指针管理内存资源,RALL是怎么回事?

RALL全称“Resource Acquisition is Initialization”,直译过来是“资源获取即初始化”,也就是说在构造函数中申请分配资源,在析构函数中释放资源。

因为C++的语言机制保证了,当一个对象创建的时候,自动调用构造函数,当对象超出作用域的时候,会自动嗲用析构函数。所有在RALL的指导下,我们应该使用类来管理资源,将资源和对象的生命周期绑定。

阅读全文

本文共计1566个文字,预计阅读时间需要7分钟。

STL模板库1是什么?

1、什么是STL?C++ STL从广义上来分为三类:算法、容器和迭代器。算法包括排序、复制等常用算法,以及不同容器特定的算法。容器就是数据的存储形式,包括顺序容器(如vector、list)和关联容器(如map、set)。迭代器是用于遍历容器的抽象指针。

1、什么是STL?

C++ STL从广义来讲包括了三类:算法,容器和迭代器。

  • 算法包括排序,复制等常用算法,以及不同容器特定的算法。
  • 容器就是数据的存放形式,包括序列式容器和关联式容器还有容器适配器,序列式容器就是list,vector等,关联式容器就是set,map等,容器适配器就是stack,queue等。
  • 迭代器就是在不暴露容器内部结构的情况下对容器的遍历。

2、trivial destructor是什么?

“trivial destructor”一般是指用户没有自定义析构函数,而由系统生成。

反之,如果用户自定义了析构函数,则称之为“non-trivial destructor”,这种析构函数如果申请了新的空间一定要显式的释放,否则会造成内存泄漏。

3、使用智能指针管理内存资源,RALL是怎么回事?

RALL全称“Resource Acquisition is Initialization”,直译过来是“资源获取即初始化”,也就是说在构造函数中申请分配资源,在析构函数中释放资源。

因为C++的语言机制保证了,当一个对象创建的时候,自动调用构造函数,当对象超出作用域的时候,会自动嗲用析构函数。所有在RALL的指导下,我们应该使用类来管理资源,将资源和对象的生命周期绑定。

阅读全文