【发布时间】:2011-05-11 05:07:30
【问题描述】:
我从 http://www.sgi.com/tech/stl/download.html 下载了 STL 源代码,但它只有 .h 用于函数声明。我在哪里可以下载 .cpp 文件来阅读实际的实现?
例如,在 stl_multimap.h 或 stl_map.h 中,它有:
template <class _Key, class _Tp, class _Compare, class _Alloc>
inline void swap(multimap<_Key,_Tp,_Compare,_Alloc>& __x,
multimap<_Key,_Tp,_Compare,_Alloc>& __y) {
__x.swap(__y);
}
我想知道交换的实际实现,如
__x.swap(__y);
我看不到交换的实际代码在哪里。在这里,它只是调用自己。
【问题讨论】:
-
它没有在里面自称,与你的最后一句话相反。
-
你为什么要下载这个源代码?您的 C++ 标准库带有当今唯一真正重要的 STL 版本。