2013年5月26日
摘要: 现代程序猿们对Namespace(命名空间)的使用已经习以为常了,而且现在的编译器对Namespace肯定都有比较好的支持。但是有没有想过在很遥远的某个年代,当时编译器并不支持Namespace?这种情况当然是存在的,所以为了保持向后兼容性,STL中使用了条件编译。最近读STL源码(SGI版本)的时候发现了一种很奇怪的情况:有些头文件中包含了“__STL_BEGIN_NAMESPACE”和“__STL_END_NAMESPACE”这样不伦不类的语句,而且编辑器在下面加上了下划线,显然是编辑器所不能解析的。在网上搜索了一下,发现原因如下:#ifndef __SGI_STL_INTERNAL_IT 阅读全文
posted @ 2013-05-26 11:27 wanghetao 阅读(1609) 评论(1) 推荐(1) 编辑