1、在ms中要使用windows sdk和相关的lib设置实在太麻烦啦,以及dll等文件缺失是在严重。所以我简单地利用了vs安装目录下的批处理文件,在命令窗口中进入:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC ,直接运行vcvarsall.bat加载vs中以及配置好的环境,就可以使用命令行: cl -GX hello.cpp去实现编译并运行。2012版本的vs中-GX换成-EHsc。同理我也可以使用vs2013。目前vs2013的环境我主要...
短期代码阅读主要基于SGI的STL,测试环境则是GCC_4.8.3_STL和VS_STL。暂时不去配置BOOST等库STL细节。待续
1、istream_iterator 输入流迭代器
1)没有operator=操作,因为只读,不可写,所以编译不支持。迭代器句柄保存当前已读取到的数据。
_GLIBCXX_CONSTEXPR istream_iterator()
: _M...
分类:
其他好文 时间:
2014-11-23 20:16:58
阅读次数:
287
一、前言 在STL中,容器是其中的重中之重,基本的STL中的算法,仿函数等都是围绕着容器实现的功能。而,内存配置器,是容器的实现的基础。所以,我第一次要去编写便是内存配置器的实现。在STL中,内存配置器的实现是在stl_alloc.h中。二、配置器原理简要介绍 在SGI STL中配置分为两级,第.....
分类:
其他好文 时间:
2014-11-17 22:40:23
阅读次数:
612
这个星期看了侯捷先生《STL 源码剖析》算法部分,基本看完了,其中算法比较多,我就重点下Sort在SGI STL中的实现。
1. sort
函数的实现是这样的:
template
inline void sort(RandomIAccessIterator first , RandomAccessIterator last>
{
if ( first != last) {...
分类:
其他好文 时间:
2014-11-08 18:18:19
阅读次数:
239
红黑树的概念和条件,以及SGI STL中对RB Tree迭代器和数据结构以及一些重要函数的实现进行简要的说明。...
分类:
其他好文 时间:
2014-10-31 23:42:40
阅读次数:
311
操作系统:centos 6.4STL源码版本:3.3前言: 要看一个项目的源码,首先要选中切入点。 那么在sgi stl 标准库中,其切入点是什么呢? 答案是:stl_config.h 文件。不同的编译器对C++语言的支持程度不尽相同。为了具备广泛移植能力,SGI STL 定义了一个环境组态文...
分类:
其他好文 时间:
2014-10-29 16:56:18
阅读次数:
297
最近在读SGI STL源码,感觉对C++的学习很有帮助,之前对于泛型、iterator、traits等等各种特性的概念非常模糊,通过这两天的琢磨,再加上《STL 源码剖析》的帮助,对C++那诡异的语法也不再害怕了。在其中遇到的一些问题,总结如下:1. C++空白基类最优化(EBO)参考:http:/...
分类:
编程语言 时间:
2014-10-22 21:55:00
阅读次数:
258
auto_ptr是当前C++标准库(STL)中提供的一种智能指针,包含头文件 #include 便可以使用。auto_ptr 能够方便的管理单个堆内存对象,下面贴出SGI中的auto_ptr源码。 1 /* 2 * Copyright (c) 1997-1999 3 * Silicon...
分类:
其他好文 时间:
2014-10-20 09:58:34
阅读次数:
290
这是SGI STL哈希表的实现,由于平时见到较少,因此在源代码中注释做的较为详细...
分类:
编程语言 时间:
2014-10-12 00:31:07
阅读次数:
246
C++ SGI STL提供的单向链表,现在已成为C++11标准中的forward_lsit,某些操作效率较list高...
分类:
编程语言 时间:
2014-10-11 23:58:37
阅读次数:
403