为什么C++标准将容器class拆分成多个头文件?

Why C++ standard split container class into multiple header file?

我学习 C++ 有一段时间了,对它的容器用法感到困惑。如果我想使用某些容器,我必须手动将它们一一包含。例如,如果我想使用“vector”容器,我必须键入 #include "vector",如果我稍后需要“list”容器,我必须添加 #include "list".

为什么 C++ 标准不简单地将每个容器 class 放在一个头文件中,例如 #include "container",这样开发人员就可以不关心一个接一个地包含它们?

Why wouldn't C++ standard simply put every container class inside one header file, like #include "container", so that developers could care less about including them one by one?

性能,特别是编译时性能。如果包含所有内容,编译器将不得不处理大量代码。如果你只使用了所有内容的 1%,那么编译器处理的 99% 的代码对你来说都是无用的,只是浪费你的时间让编译器处理它。