C++标准库第二版笔记 1

时间:2021-10-17 19:46:23

C++标准库第二版笔记 1


C++ std历史

第一份标准化文档: C++98 & C++03 & TR1

TR1 Information Technology- Programming Languages - Technical Report on C++ Library Extensions
  内涵大幅度的标准库扩充,在 namespace std::tr1中。

第二份标准化文档: C++11

  标准库在做不断的同质化(homogeneous),他并不是要发明新的东西,而是让既有的东西和谐共处。

复杂度(complexity)与大O标记(notation)

  这只是一种某种度量规则,它所显示的最佳(最低)复杂度算法,不一定就是真正的最佳(最快)算法。有些巨大常量线性算法比小常量线性算法要来的受欢迎正是这个原因。

(amortized)分期摊还,折旧成本

  标准手册中提到的某些复杂度被称为(amortized)分期摊还,折旧成本。举个例子:动态数组的元素追加不总是扩展动态内存的大小,当需要扩展与不需要扩展时的效率是不一样的。

所以任何“长度充分”的序列(sequence),元素附加动作几乎可说是常量复杂度。这种复杂度我们便称为amortized常量时间。