我已经编程c ++大约一年了,当我看到我看到很多对STL的引用时。
有人可以告诉我它的作用吗?
它的优点和缺点是什么?
它还能给我带来的VCL或MFC?
谢谢
答案 0 :(得分:23)
这是C ++标准库,为您提供各种非常有用的容器,字符串,算法等等。
术语'STL'已经过时恕我直言,过去的STL已经成为C ++标准库的重要组成部分。
如果你正在进行任何严肃的C ++开发,你需要熟悉这个库,最好是boost库。如果您还没有使用它,那么您可能正在以错误的抽象级别工作,或者您将自己限制在C ++的小型子集中。
答案 1 :(得分:4)
STL代表标准模板库。这是一个主要由Stepanov和Lee设计的库,后来被用作C ++标准库的一部分。该术语逐渐变得毫无意义,但涵盖了标准库的这些部分:
如果你称自己为C ++程序员,那么你应该熟悉所有这些概念,以及它们的标准库实现。
答案 2 :(得分:3)
STL是标准模板库。与任何库一样,它是一组代码,通过提供经过良好测试的强大代码,让您重复使用,从而使您的生活更轻松。
优点
1,你不必重新实现标准容器(无论如何你都会犯错)
阅读Nicolai M.Josuttis的这篇book以了解有关STL的更多信息,这是最好的STL参考书。
答案 3 :(得分:2)
它为程序员提供了常用的有用工具!迭代器,算法等为什么重新发明轮子?
答案 4 :(得分:1)
答案 5 :(得分:0)
STL有Iterators。当然,收藏品和东西都是有用的,但是权力迭代器是巨大的,而且,根据我的拙见,相比之下,其余部分会变得苍白。
答案 6 :(得分:0)
维基百科有一个很好的概述:http://en.wikipedia.org/wiki/Standard_Template_Library
STL解决了C ++的一大缺陷 - 缺少标准的字符串类型。这引起了无数令人头疼的问题,因为有成千上万的字符串实现无法很好地协同工作。
答案 7 :(得分:0)
它代表标准模板库
这是一组功能和类,可以为您节省大量的工作。
它们旨在使用模板,您可以在其中定义函数,但无需定义它将使用的数据类型。
例如,矢量或多或少可以让你拥有动态数组。当你创建它的实例时,你会说出你想要它的类型。这甚至可以是您自己的数据类型(类)。这是一件很难想的事情,但它非常强大,可以节省你的时间。
立即阅读!你要后悔。
答案 8 :(得分:0)
它为您提供了另一个首字母缩略词,可以在鸡尾酒派对中折腾。
说真的,检查介绍文档,例如使用Wikipedia article on STL。