
c/c++
文章平均质量分 71
sdnxiaotao
全部为转载并已标明出处!
如没有明确声明为转载则是本人疏忽,向作者致歉!
展开
-
三十分钟掌握stl
这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。译者:karycontact:karymay@163.netSTL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离转载 2008-07-05 14:28:00 · 476 阅读 · 0 评论 -
走进stl
走近 STL 作者:陶汉军 中国石油大学 计算机02-2 下载源代码 本文面向的读者:学习过C++程序设计语言(也就是说学习过Template),但是还没有接触过STL的STL的初学者。这实际上是我学习STL的一篇笔记,老鸟就不用看了。 什么是泛型程序设计 我们可以简单转载 2008-07-05 12:32:00 · 369 阅读 · 0 评论 -
boost的安装问题
这篇文章,很重要,但是原文网址找不到了,就保留了最后面的版权。 概要 下载 .zip 文件 .tar.gz and .tar.bz2 文件 Boost CVS 库 准备 配置工具 支持的编译器 编译安装 结果 在Windows下面自动链接 附加的步骤 概要这个概要将帮助你开始利用Boost库。通过如下的步骤转载 2008-08-07 14:17:00 · 1162 阅读 · 1 评论 -
linux操作系统下c语言编程入门
(一)目录介绍1)Linux程序设计入门--基础知识 2)Linux程序设计入门--进程介绍 3)Linux程序设计入门--文件操作 4)Linux程序设计入门--时间概念 5)Linux程序设计入门--信号处理 6)Linux程序设计入门--消息管理 7)Linux程序设计入门--线程操作 8)Linux程序设计入门--网络编程 9)Linux下C开发工具介绍转载 2008-08-06 19:24:00 · 763 阅读 · 0 评论 -
不应该不知道C++的常用库
非常惭愧,我过去也仅仅了解boost、STLport这样的库,以及一些GUI库,但是居然有如此众多的C++库,其实令我惊讶。当然,这个问题应该辩证的看,对于拿来主义确实可以直接使用这些库,但是如果学习和专业的开发,确实应该自己写,因为——适合的才是最好的。无论效率还是简洁性都是自己开发的好,否则还要那么多程序员干什么。程序就像做衣服,需要量身定做,拼凑起来的,一定不会好用,不过借鉴也是必须的转载 2008-08-07 14:07:00 · 581 阅读 · 0 评论 -
Linux下C++开发工具介绍
概述 就C++开发工具而言,与Windows下微软(VC, VS2005等)一统天下相比,Linux/Unix下C++开发,可谓五花八门,各式各样。Emacs, vi, eclipse, anjuta,kdevelop等层出不穷。 Windows下,开发工具多以集成开发环境IDE的形式展现给最终用户。例如,VS2005集成了编辑器,宏汇编ml,C /C++编译器cl,资源编译器rc,调转载 2008-08-06 17:55:00 · 905 阅读 · 0 评论 -
深入浅出之正则表达式
深入浅出之正则表达式(一)前言: 半年前我对正则表达式产生了兴趣,在网上查找过不少资料,看过不少的教程,最后在使用一个正则表达式工具RegexBuddy时发现他的教程写的非常好,可以说是我目前见过最好的正则表达式教程。于是一直想把他翻译过来。这个愿望直到这个五一长假才得以实现,结果就有了这篇文章。关于本文的名字,使用“深入浅出”似乎已经太俗。但是通读原文以后,觉得只有用“深入转载 2008-08-07 13:59:00 · 537 阅读 · 0 评论 -
TPL: 一个新的C++正则表达式(regex)库
作者:许式伟 来源:优快云博客 酷勤网收集 2008-05-29摘要酷勤网 TPL 属于静态正则表达式库。TPL 全称为 Text Processing Library(文本处理库)。spirit、xpressive 是很好的东西,实现 TPL 库中对这两者有所借鉴。说起来开发 TPL 库的理由看起来挺好笑的:原因是 spirit、xpressive 太慢。转载 2008-08-07 13:54:00 · 2604 阅读 · 0 评论 -
【转贴】C语言高效编程的几招
引言: 编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就工作中的一些体会和经验做相关的阐述,不对的地方请各位指教。第1招:以空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招——以空间换时间。例如:字符串的赋值。方法A,通常的办法:#define LEN 32char string1 [LEN];转载 2008-08-05 11:32:00 · 439 阅读 · 0 评论 -
fget()
格式: string fgets ( int handle [, int length]) 从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。 碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。 如果没有指定 length,则默认为 1K,或者说 1024转载 2008-08-04 18:36:00 · 4512 阅读 · 0 评论 -
C 规则表达式入门
用过Perl的朋友应该都它提供了规则表达式功能,所以使得用perl 进行文本处理非常方便。本人最近试用了一下 GNU C 的规则表达式功能, 发现使用起来也很简单,只是觉得支持的不够强大,不能够进行文本的替换,只能进行文本的查找,至少目前我是 没有发现基于规则表达式的 文本替换功能。 下面我就简单的介绍一下GNU C 的规则表达式转载 2008-08-01 15:00:00 · 488 阅读 · 0 评论 -
C/C++正则表达式编程
原文转自: http://www.devfront.com:8080/?q=node/140GNU/Linux有两套库可用于正则表达式编程:POSIX库和PCRE库。前者不需要单独安装,一般需求还是能满足的,速度稍慢些。后者是久负盛名的Perl正则表达式库,功能强大,匹配速度快,不过可能需要单独安装。我们先用一个例子来介绍如何使用POSIX库。#i nclude #i nc转载 2008-08-01 14:59:00 · 1773 阅读 · 0 评论 -
C++中的menset和memcpy介绍
1。void *memset(void *s,int c,size_t n)总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。2。例子#i nclude#i ncludemain(){char *s="Golden Global View";clrscr();memset(s,G,6);printf("%s",s);getchar();return 0;} 3。memset()转载 2008-07-30 13:56:00 · 1821 阅读 · 0 评论 -
学习STL map, STL set之数据结构基础
学习STL map, STL set之数据结构基础作者: winter 摘要:本文列出几个基本的STL map和STL set的问题,通过解答这些问题讲解了STL关联容器内部的数据结构,最后提出了关于UNIX/LINUX自带平衡二叉树库函数和map, set选择问题,并分析了map, set的优势之处。对于希望深入学习STL和希望了解STL map等关联容器底层数据结构的朋友来说,有一定的转载 2008-07-05 13:26:00 · 393 阅读 · 0 评论 -
static_cast、dynamic_cast、reinterpret_cast、和const_cast
static_cast、dynamic_cast、reinterpret_cast、和const_cast关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dynamic_cast。标准C++中有四个类型转换符:static_cast、dyn转载 2008-07-05 13:47:00 · 302 阅读 · 0 评论 -
看看人家是怎样去玩STL,才知道自己是多么的无知
一直以为对C++有所了解,现在看看人家是怎样去玩才知道自己是多么的无知。成天开口闭口就是OOA、SOA的,确连一些最基本的C++常识都不知道,实为耻也。 toupper,tolower地球人都知道 C++ 的 string 没有 toupper ,好在这不是个大问题,因为我们有 STL 算法:string s("heLLo");transform(s.begin(),转载 2008-07-05 14:19:00 · 956 阅读 · 0 评论 -
iostream 库
iostream 库C++的输入/输出设施是由iostream库(iostream library)提供的,它是一个利用多继承和虚拟继承实现的面向对象类层次结构,是作为C++标准库的一个组件而提供的。它为内置数据类型的输入输出提供了支持,也支持文件的输入输出。除此之外,类的设计者可以扩展iostream库,以读写新的类类型。为了在我们的程序中使用iostream库,我们必须包含相关的头文件转载 2008-07-05 14:11:00 · 2165 阅读 · 0 评论 -
STL知识点(常用算法函数介绍 、容器、类属算法、迭代器、函数对象、适配器、分配器
2007-09-01 14:58 ------《标准模板库自修教程与参考手册 STL进行C++编程》------ STL的6大组件:容器、类属算法、迭代器、函数对象、适配器、分配器。 -----------------------转载 2008-07-05 13:58:00 · 592 阅读 · 0 评论 -
STL之bind2st for_each 和 transform
由一个问题开始吧:void print(int& a,const int b){a+=b;}int main(){ list my_list;.........for_each(my_list.begin(),my_list.end(), bind2nd(print,3) );}目的是依次循环,每个节点加3想通过bind2nd使函数的第二个值绑定为3转载 2008-07-05 13:57:00 · 778 阅读 · 1 评论 -
SGI STL V3.2 源码剖析笔记-3. vector(未完待续)
1. vector1.1. 文件名1.2. 泛型参数typename _Tp vector内放置的对象类型typename _Alloc 底层的allocator,有默认值,如果设置了编译器选项__STL_USE_STD_ALLOCAT转载 2008-07-05 13:45:00 · 362 阅读 · 0 评论 -
rand()和srand()产生伪随机数的方法
标准库(被包含于中)提供两个帮助生成伪随机数的函数: 函数一:int rand(void);从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数。函数二:void srand(unsigned seed);参数seed是rand()的种子,用来初始化rand()的起始值。可以认为rand()在每次被调用的时候转载 2008-07-05 13:44:00 · 325 阅读 · 0 评论 -
Effective STL 条款6 : 当心C++另人迷惑的解析
条款6: 当心C++另人迷惑的解析 假如你有一个整数构成的文件,需要把它复制到一个list中.以下代码看起来是一个很有意义的方法: ifstream dataFile("ints.dat");list data(istream_iterator(dataFile), // warning! this doesnt do istream_iter转载 2008-07-05 13:24:00 · 374 阅读 · 0 评论 -
C++ STL map的使用
C++ STL map的使用 分类:C/C++学习2008.4.11 18:19 作者:linux0818 | 评论:2 | 阅读:758 以下是对C++中STL map的插入,查找,遍历及删除的例子:#include #include #include using namespace std; void map_insert(map *m转载 2008-07-05 13:10:00 · 1699 阅读 · 3 评论 -
makefile整理
全文见:http://www.chinaunix.net/jh/23/408225.html 一、Makefile里有什么?Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。1、显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。2、隐晦规则。转载 2008-07-05 12:40:00 · 333 阅读 · 0 评论 -
最优秀的stl学习网站
STL技术文章不完全列表(STL学习使用指南) 1 STL入门教程: 2 STL 容器: 3 STL应用: 4 STL其他: 在网络上,关于STL使用的有许多优秀的文档,本文收集了一些经典的中文和英文文章,包含STL中的标准容器 vector list set map deque hash_map转载 2008-07-05 13:56:00 · 1378 阅读 · 0 评论 -
STL map常用操作简介
1。目录 map简介 map的功能 使用map 在map中插入元素 查找并获取map中的元素 从map中删除元素 2。map简介 map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。 3。map的功转载 2008-07-05 13:53:00 · 315 阅读 · 0 评论 -
getline()
getlinefunctionistream& getline ( istream& is, string& str, char delim );istream& getline ( istream& is, string& str );Get line from streamExtracts characters from is and st转载 2008-07-30 13:56:00 · 481 阅读 · 0 评论 -
fstream简单应用
一。 大多数 C++ /doc/">程序员都熟悉不止一个文件 I/O 库。首先是传统的 Unix 风格的库,它由一些低级函数如 read() 和 open()组成。其次是 ANSI C 的 库,它包含 fopen() 和 fread()等函数。其它的还有一些具备所有权的库或框架,比如 MFC,它有很多自己的文件处理类。 这些库一般都很难跨平台使用。更糟的是,上述提到的 C转载 2008-07-30 09:57:00 · 777 阅读 · 0 评论 -
软件编程体会(为内存调试做准备)--命名规则
作者:燕青 2007年4月23日在软件开发中,数据结构和函数是整个软件必不可少的部分,对它的命名规则可能对整个项目的管理起着至关重要的作用。如果有一个良好的命名习惯,对于项目的开发和维护是相当有利的。这里我仅仅根据自己的体会,简单的阐述一下自己的心德,希望能够给读者一些有益的启迪,当然,也希望能够给我一些中肯的建议。请喜欢标准ANSC C的数据类型在很多项目中,有些设计者喜欢定义一些自转载 2008-07-05 13:18:00 · 945 阅读 · 1 评论 -
C++_string_详解
前言: string 的角色 1 string 使用 1.1 充分使用string 操作符 1.2 眼花缭乱的string find 函数 1.3 string insert, replace, erase 2 string 和 C风格字符串 3 string 和 Charactor Traits 4 string 建议 5 小结 6 附录前言: string 的角转载 2008-07-05 13:08:00 · 780 阅读 · 0 评论 -
c++中 string与string.h 的作用和区别
c++中 string与string.h 的作用和区别 #include void main() { string aaa= "abcsd d"; printf("looking for abc from abcdecd %s/n", (strcmp(aaa,"a转载 2008-07-05 12:49:00 · 566 阅读 · 0 评论 -
如何将字符串前后的空白去除? (使用string.find_first_not_of, string.find_last_not_of) (C/C++)
1/**//* 2(C) OOMusou 2006 http://oomusou.cnblogs.com 3 4Filename : StringTrim1.cpp 5Compiler : Visual C++ 8.0 6Description : Demo how to trim string by find_first_not_of & f转载 2008-07-05 22:24:00 · 3068 阅读 · 0 评论 -
详细解说STL hash_map系列
详细解说STL hash_map系列 来源于http://www.stlchina.org/0 为什么需要hash_map 用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改: 岳不群-华山派掌门人,人称君子剑张三丰-武当掌门人,太极拳创始人东方不转载 2008-07-05 14:26:00 · 557 阅读 · 0 评论 -
Iterator Classes (迭代器类)
« 上一篇: 第13章 排序和查找 下一篇: 第15章 Function Object Classes 函数对象类 » 第14章 Iterator Classes (迭代器类)村少 @ 2005-12-29 15:30第14章Iterator classes 迭代器类在头文件14.1 Ins转载 2008-07-05 14:03:00 · 797 阅读 · 0 评论 -
胡乱的记一下 vector 的 clear 的功能。。
#include "stdafx.h"#include #include int main(int argc,char *argv[]){ std::vector int_vector; std::cout << "已定义,未输入数据:" << std::endl; std::cout << "Size: " << int_vector.size() << st转载 2008-07-05 14:00:00 · 2106 阅读 · 0 评论 -
stl map
通常在使用STL时,除了List和vector,我们还会经常用到Map。Map使用关键值_Key来唯一标识每一个成员_Tp。STL中的Map声明如下:template < class _Key, class _Tp, class _Compare = less, class _Alloc = allocatorconst _Key, _Tp> > >class转载 2008-07-05 13:52:00 · 382 阅读 · 0 评论 -
c/c++常用头文件函数
头文件 ctype.h字符处理函数: 本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换----------------------------------------字符测试是否字母和数字 isalnum是否字母 isalpha是否控制字符 iscntrl是否数字 isdigit是否可显示字符(除空格外) isgraph是否可显示字符(包括空格转载 2008-07-05 13:29:00 · 1648 阅读 · 1 评论 -
彻底学习STL中的Allocator
作者: winter Allocator是C++语言标准库中最神秘的部分之一。它们很少被显式使用,标准也没有明确出它们应该在什么时候被使用。今天的allocator与最初的STL建议非常不同,在此过程中还存在着另外两个设计--这两个都依赖于语言的一些特性,而直到最近才在很少的几个编译器上可用。对allocator的功能,标准似乎在一些方面追加了承诺,而在另外一些方面撤销了承诺。这篇专栏文章转载 2008-07-05 13:27:00 · 684 阅读 · 0 评论 -
stream Iterators(流迭代器)
9月12日stream Iterators(流迭代器)最近在学习 c++传说那个强大的STL。感觉真的是很强大的.. 让我惊喜地就是它的stream iteratorstream iterator有两种istream iterator ,ostream iterator.//Creates an ostream iterator for ostream with the转载 2008-07-05 13:12:00 · 449 阅读 · 0 评论 -
迭代器简析
“迭代器是一个可以遍历STL容器内全部或部分元素的对象。一个迭代器用来指出容器中的一个特定位置。”“迭代器提供一些基本操作符:*、++、==、!=、=。这些操作和C/C++“操作array元素”时的指针接口一致。不同之处在于,迭代器是个所谓的smart pointers,具有遍历复杂数据结构的能力。其下层运行机制取决于其所遍历的数据结构。因此,每一种容器型别都必须提供自己的迭代器。事实上每一种转载 2008-07-05 12:43:00 · 319 阅读 · 0 评论