Avatar ·

STL和C++标准库有什么区别?

大家好!我是一名初学C++的开发者,经常遇到“STL”和“C++标准库”这两个术语。似乎大家都把它们当作同义词使用,但我感觉它们并不完全一样。 例如,我写这样的代码: ```cpp #include #include #include int main() { std::vector numbers = {3, 1, 4, 1, 5, 9}; std::sort(numbers.begin(), numbers.end()); for (int n : numbers) { std::cout << n << " "; } return 0; } ``` 这里我使用了 `` 和 ``——我习惯称它们为STL。但 `` 和 `std::cout` 也是标准库的一部分。那么,STL只是标准库的一部分吗?还是它们是不同的东西? 网上有很多争论:有人说STL已经过时了,有人说它是C++的基础。我需要一个清晰的理解:到底什么算是STL,什么算是标准库?为什么会有这种混淆?感谢详细解答。