文章列表
 
2007-09-26 22:34

Author : cppgp
Time : 2007-09-26

本系列文章将会尽可能的剖析STL实现细节。本文假定读者对象是热爱GP编程、希望探究STL实现的程序员。本系列不适合STL初学者。

[本篇分析STL迭代器,在文章最后给出一个拥有迭代器和常用操作的仿STL实现的单链表源码]

1.概述
《Design Patterns》中iterator模式的定义如下:提供一种方法,使之能够依序寻访某个聚合物(容器)所含的各个元素。
在STL中,迭代器是一种行为类似指针的对象,可透过与一般指针一致的接口来完成自己的工作(事实上除了随机迭代器以外

 
2007-06-01 17:22

//Author : cppgp
//Email    : cppgp@163.com
//Time     : 2007 06 01
//按照字母顺序排列

1.函数模板的参数推导:
对于模板函数,在调用函数参数表识出模板参数的一个集合,编译器可以从一个调用推断出类型参数T或者TT和非类型模板参数I.可以递归使用推导规则来确定T或者I.如果不能通过这种方式推断参数,这个调用就是有歧义的.

2.模板的专门化(偏特化/全特化)
对一个模板定义一种可以互相代替的定义称为用户定义的专

 
2007-06-01 11:58


1. int strcmp( const char *s1, const char *s2 );

功能 : 比较s1和s2的大小,字符串比较以ASCII值为依据

返回值 : s1 == s2 return 0
          s1 >   s2 return 1
          s1 <   s2 return -1

2. int strcoll( const char *s1, const char *s2 );

功能 :   依环境变量LC_COLLATE所指定的字符排列次序来比较s1和s2 字符串
返回

 
2007-06-01 11:30

1. void bcopy(const void *src, void *dest, size_t n);

功能: 拷贝n字节内容从src到dest

说明: 该函数在内存重叠情况下仍然正常,该函数建议不再使用,而是用memcpy代替

返回值: 无

2. void *memcpy(void *dest, const void *src, size_t n);

功能: 拷贝n字节内容从src到dest

说明: src和dest在内存中不可重叠,如果重叠请使用memmove代替

返回值: 返回 dest 地址

3. void *memmove(void *dest, const void *src, size_t n);

功能: 拷贝n字节内容从src到dest

 
2007-03-30 14:55

//Author : cppgp
//Email   : cppgp@163.com
//Time    : 2007 03 30
//按照字母顺序排列

1 . int _access( const char *path, int mode );
功   能 : 测定文件/目录存取权限.
头文件 : #include <io.h>
参   数 : path:文件或者目录
   mode:权限设定,其值如下:
   00 Existence only
   02 Write permission
   04 Read permiss

 
2007-03-08 17:24

C++ Boost库简介
     boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。不过对比STL,boost更加实用。STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作。
     boost主要包含一下几个大类:字符串及文本处理、容器、迭代子(Iterator)、算法、函数对象和高阶编程、泛型编程、模板元编程、预处理元编程、并发编程、数学相关、纠错和测试、数据结构、输入/输出、跨语言支持、内存相关、语法分析、

 
2007-03-08 17:19

boost的老家
http://www.boost.org 

boost的中文站:
http://www.c-view.org 

CSDN--Boost 系列专题
http://www.csdn.net/Subject/336/index.shtm 

Linux伊甸园论坛- STL/bo

 
2007-03-08 10:40

//Author : cppgp
//Email  : cppgp@163.com
//Time   : 2007 03 08

//功能 : 测试 C++ template 的 traits 技巧
//版权 : 可任意转载、拷贝、修改、使用,但请注明原作者姓名

//vc 6.0 下必须去掉 label_traits 的特化版本才能通过编译链接
//gcc  下面 label_traits 特化版本测试通过

#include

 
2007-03-07 11:17

//版权自由,转载申明原作者 

//该类完成 linux 下多线程锁的简单封装

//Editor : yanyg
//Email  : cppgp@163.com

//Depict  : Thread Lock
//Language : ANSI C++
//Compile  : make 
//Compat  : linux

//lock.h: interface for the Lock(CMutex/CRWLock/CCond) class.

#ifndef

 
2007-03-07 11:10

赞美 

穆旦 

走不尽的山峦和起伏,河流和草原, 
数不尽的密密的村庄,鸡鸣和狗吠, 
接连在原是荒凉的亚洲的土地上, 
在野草的茫茫中呼啸着干燥的风, 
在低压的暗云下唱着单调的东流的水, 
在忧郁的森林里有无数埋藏的年代。 
它们静静地和我拥抱: 
说不尽的故事是说不尽的灾难,沉默的 
是爱情,是在天空飞翔的鹰群, 
是干枯的眼睛期待着泉涌的热泪, 
当不移的灰色的行列在遥远的天际爬行;

 
   
 
 
文章存档
 
     
 
最新文章评论
  

谢谢~~有用~~
 

一天就这样过去了,愿我们每个人都能拥有自己的精彩。晚安
 

呵呵,怎么不给个实例呢?
 

不错, 不过觉得最好的资源,应该还是Boost自带的文档, 只是许多时候,Boost自带
 

Linux技术文章,Linux书籍免费下载 网址:http://www.linuxdiyf.com
   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu