我很了解C ++,但从未深入学习STL。在我的工作中,我必须学习STL的哪些部分以提高生产力并减少缺陷?
谢谢。
我对C++有很好的了解。
恕我直言,但不是这样的——你并没有。标准库,或者至少其中的大部分(特别是被称为“STL”的子集)是C++的基本组成部分。如果没有它的知识,那么你对C++的了解实际上并不多。
事实上,自98版以来,C++的许多现代设计(基本上是一切)都是根据标准库的设计考虑而指导的,而自那时以来语言中的许多更改都是对标准库的更改。如果你看一下官方的C++语言描述,其中很大一部分都与库有关。
我认为来自<algorithm>
的算法将真正清理您的代码,同时使您的代码更简洁。
显然,对所有容器的知识将帮助您优化由某个不可避免而又不太理想的容器选择引起的代码瓶颈(但务必先进行分析)。
这些基础知识非常重要,它们将大大帮助您编写更加健壮的代码。
之后,您可以深入研究像std::shared_ptr
这样的智能指针,它们几乎总是比常规指针更好(至少在我的情况下是这样)。