
哪里下载C++ STL的源码
今天突然想看下vector的erase实现,但是找了好久都没找到一个明确的下载方式。侯捷的个人网站也无法访问,只能在搜索引擎里各种查找。最终找到了下载方法,竟然如此简单,分享出来节约大家的时间。
下载gcc的源码:github/gcc-mirror/gcc,STL的实现就在libstdc++-v3目录里。
这里还要注意一点,如果有的函数你在工程里找不到实现,比如_M_erase,可能是没有把实现该函数的文件加到工程里,因为实现该函数的文件扩展名既不是 也不是.cpp,而是.tcc ,比如vector调用的_M_erase是在vector.tcc里实现的:
template<typename _Alloc> typename vector<bool, _Alloc>::iterator vector<bool, _Alloc>:: _M_erase(iterator __position) { if (__position + 1 != end()) std::copy(__position + 1, end(), __position); --this->_M_impl._M_finish; return __position; }接下来就可以阅读STL的源码了。
👁️ 阅读量:0
© 版权声明:本文《哪里下载C++ STL的源码》内容均为本站精心整理或网友自愿分享,如需转载请注明原文出处:https://www.zastudy.cn/wen/1686527820a281767.html。