摘要: STL的模板类为c++提供了完善的数据结构,它的模板类的样式就好象数据结构中用类c或者类c++或者类java写的那些一样,包括数据组织,操作。而数据类型都是elemtype这样,也就是没说明具体的数据类型。STL包括容器,算法和迭代器,容器和算法就是数据结构的数据组织和操作,而迭代器则是为了容器和算法分离而专门设计的,它就像是循环里用的指针,但是在任何情况下,STL算法都是用迭代器来处理容器的。因为使用模板,所以大多数容器的使用都是这样的:,以vector 为例,vector<int> s;它们的迭代器是这样:vector<int>::iterator it;它们的插入 阅读全文
posted @ 2011-10-08 13:17 elwin 阅读(1497) 评论(0) 推荐(0) 编辑
摘要: View Code 1 strcpy(), 字符串拷贝. 2 char *strcpy(char *strDest, const char *strSrc) 3 { 4 assert((strDest!=NULL) && (strSrc !=NULL)); 5 char *address = strDest; 6 while( (*strDest++ = * strSrc++) != '\0') 7 NULL ; 8 return address ; 9 } 10 11 memcpy, 拷贝不重叠的... 阅读全文
posted @ 2011-10-08 03:05 elwin 阅读(305) 评论(1) 推荐(1) 编辑
摘要: 1. C++虽然主要是以C的基础发展起来的一门新语言,但她不是C的替代品,不是C的升级,C++和C是兄弟关系。没有谁比谁先进的说法,更重要的一点是C和C++各自的标准委员会是独立的,最新的C++标准是C++98,最新的C标准是C99。因此也没有先学C再说C++的说法,也不再(注意这个"不再")有C++语法是C语法的超集的说法。 2. C++/CLI 和 C# 是微软的,它们与C和C++没有任何关系,虽然部分语法相似。但哪两种语言不相似呢?都是abc这26个字母。 3. 不要使用TC/TC++/BC/CB等古老的编译器来学习C/C++,因为它们太古老了,不支持新的C/C++标 阅读全文
posted @ 2011-10-08 02:30 elwin 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 详解link 有些人写C/C++(以下假定为C++)程序,对unresolved external link或者duplicated external simbol的错误信息不知所措(因为这样的错误信息不能定位到某一行)。或者对语言的一些部分不知道为什么要(或者不要)这样那样设计。了解本文之后,或许会有一些答案。 首先看看我们是如何写一个程序的。如果你在使用某种IDE(Visual Studio,Elicpse,Dev C++等),你可能不会发现程序是如何组织起来的(很多人因此而反对初学者使用IDE)。因为使用IDE,你所做的事情,就是在一个项目里新建一系列的.cpp和.h文件,编写好之后在菜 阅读全文
posted @ 2011-10-08 02:27 elwin 阅读(4491) 评论(0) 推荐(0) 编辑