为什么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% 的代码对你来说都是无用的,只是浪费你的时间让编译器处理它。
我学习 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% 的代码对你来说都是无用的,只是浪费你的时间让编译器处理它。