为啥c++标准库一般只有头文件没有源文件?

这是没找到源文件的位置吧
llvm-mirror/libcxx
gcc-mirror/gcc

■网友
不是的。基本上都包含cpp源文件,有以下几种含义:1.源文件一般编译成动态链接库提供给你,位于bin目录下;2.这样分成头文件和源文件在开发时有利于代码编写和阅读,都放一个文件的话太大了,同时牵一发动全身,修改一个地方会导致该文件重新编译:3.有利于代码保护,只能看见源码的只有头文件,很多核心的函数实现以库的形式提供;所以并不是都放头文件里的,头文件里放的是内联函数和一些函数的声明。
■网友
如果放到cpp文件里,那就得有一个库,你生成可执行文件还得链接一下。全部在头文件里实现,你就可以include一下就全搞定了。
■网友
【为啥c++标准库一般只有头文件没有源文件?】 历史遗留,for separate compilation。


    推荐阅读