admin管理员组文章数量:1794759
哪里下载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的源码了。
版权声明:本文标题:哪里下载C++ STL的源码 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686527601a78040.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论