官术网_书友最值得收藏!

The Standard Template Library architecture

The C++ Standard Template Library (STL) offers ready-made generic containers, algorithms that can be applied to the containers, and iterators to navigate the containers. The STL is implemented with C++ templates, and templates allow generic programming in C++.

The STL encourages a C++ developer to focus on the task at hand by freeing up the developer from writing low-level data structures and algorithms. The STL is a time-tested library that allows rapid application development.  

The STL is an interesting piece of work and architecture. Its secret formula is compile-time polymorphism. To get better performance, the STL avoids dynamic polymorphism, saying goodbye to virtual functions. Broadly, the STL has the following four components:

  • Algorithms
  • Functors
  • Iterators
  • Containers

The STL architecture stitches all the aforementioned four components together. It has many commonly used algorithms with performance guarantees. The interesting part about STL algorithms is that they work seamlessly without any knowledge about the containers that hold the data. This is made possible due to the iterators that offer high-level traversal APIs, which completely abstracts the underlying data structure used within a container. The STL makes use of operator overloading quite extensively. Let's understand the major components of STL one by one to get a good grasp of the STL conceptually.

主站蜘蛛池模板: 大渡口区| 长兴县| 保亭| 广平县| 苗栗县| 涟源市| 介休市| 堆龙德庆县| 阳高县| 桃源县| 乌兰浩特市| 页游| 博白县| 万盛区| 安阳市| 满城县| 修武县| 雷山县| 东乌珠穆沁旗| 新津县| 香河县| 藁城市| 扬州市| 浠水县| 仲巴县| 手游| 泰顺县| 略阳县| 洛隆县| 大洼县| 莒南县| 田阳县| 宜宾县| 手游| 观塘区| 卓资县| 贡山| 夹江县| 安丘市| 株洲市| 齐河县|