我对C++数据结构了解不多,但我想知道你(程序员)使用STL还是编写自己的代码?毕竟STL设计用于执行搜索,替换以及更多数据列表等任务.
有人真的不需要了解链表,二进制搜索等等,因为我可以使用STL.你会建议什么?
Rio*_*ams 61
虽然标准模板库在执行任务时非常方便,如您所提到的搜索,替换,使用链接列表,但它不应取代对库内部内容的了解.
您提到不需要了解链接列表,二进制搜索和"更多",但是您应该至少掌握这些数据结构和过程如何工作,因为它将使用它们(以及知道何时使用它们)更加有效.
基本上 - 你不必重新发明轮子,但至少知道什么使轮子有效转动.
har*_*ald 11
一般情况下,尽可能使用STL和标准库.首先,它可能比您自己的代码更好地测试,其次它有助于保持代码的可移植性.您应该重写任何此功能的唯一时间是出于学习目的.编写自己的关联映射或链表可能很有教育意义,但对于生产代码,请坚持使用经过良好测试和符合标准的代码.
STL提供的工具的基础数据结构,方法和应用程序的工作知识将使您成为更好的程序员.知道何时使用什么容器类型,或哪种算法与正确的实现一样重要.有时,理解一些更复杂概念的最简单方法是在数据结构和算法类的上下文中自己实现它们.
也就是说,STL中的代码由专家编写,随着时间的推移逐步完善,成为全世界数百万人使用的标准库.实际上,几乎没有理由"滚动自己的",除了性能(或大小)对于确切应用至关重要的极端情况.