• 标准模板库STL(Standard Template Library)指南

    1 介绍 1.1 动机 在七十年代末,Alexander Stepanov 第一个发现一些算法不依赖于数据结构的特定实现, 而仅仅和结构的一些基本语义属性相关。这些属性表达了一种能力,比如可以从数据结构的 一个成员取得下一个成员,从头到尾“走过”结构中的元素〔就象排序算法不关心元素是存 放在数组中或是线性表中)。Stepanov 研究过一些算法可以用一种抽象的方式实现,而且不 会影响效率。 1.2 STL 历史 1985 年,Stepanov 开发了基本Ada 库,有人要求他在C++中也这样做。但直到1987 年,模板(Template)在C++中还未实现,所以他的工作推迟了。1988 年,Stepanov 到HP 实 验室工作,并在1992 年被任命为一个算法项目的经理。在此项目中,Alexander Stepanov 和 Meng Lee 写了一个巨大的库---标准模板库(STL:Standard Template Library),意图定义一些 通用算法而不影响效率。现在STL 在国外已经成了新的编程手段。 1.3 STL 和ANSI/ISO C++草案标准 1994 年7 月14 日,ANSI/ISO C++标准化委员会将STL 采纳为草案标准。现在Microsoft Visual C++ 5.0 以上及Borland C++ 4.0 以上都支持STL。STL 已经并将继续影响软件开发的 方法,有了STL,程序员可以写更少且更快的代码,把精力集中在问题解决上,而不必关心

    5
    151
    87KB
    2010-11-20
    12
  • C++标准库使用范例

    /************************** *范例编号:17_39 *范例说明:演示 unique 的 * 功能与使用方法 ***************************/ #include <vector> #include <algorithm> #include <functional> #include <iostream> #include <ostream> using namespace std; bool mod_equal ( int elem1, int elem2 ) { if ( elem1 < 0 ) elem1 = - elem1; if ( elem2 < 0 ) elem2 = - elem2; return elem1 == elem2; }; int main( ) { vector <int> v1; vector <int>::iterator v1_Iter1, v1_Iter2, v1_Iter3, v1_NewEnd1, v1_NewEnd2, v1_NewEnd3; int i; for ( i = 0 ; i <= 3 ; i++ ) { v1.push_back( 5 ); v1.push_back( -5 ); } int ii; for ( ii = 0 ; ii <= 3 ; ii++ ) { v1.push_back( 4 ); } v1.push_back( 7 ); cout << "向量 v1=( " ; for ( v1_Iter1 = v1.begin( ) ; v1_Iter1 != v1.end( ) ; v1_Iter1++ ) cout << *v1_Iter1 << " "; cout << ")." << endl; v1_NewEnd1 = unique ( v1.begin ( ) , v1.end ( ) ); cout << "除去相连等价元素后 v1= ( " ; for ( v1_Iter1 = v1.begin( ) ; v1_Iter1 != v1_NewEnd1 ; v1_Iter1++ ) cout << *v1_Iter1 << " "; cout << ")." << endl; v1_NewEnd2 = unique ( v1.begin ( ) , v1_NewEnd1 , mod_equal ); cout << "在 mod_equal 意义下,除去相连等价元素后 v1= ( " ; for ( v1_Iter2 = v1.begin( ) ; v1_Iter2 != v1_NewEnd2 ; v1_Iter2++ ) cout << *v1_Iter2 << " "; cout << ")." << endl; v1_NewEnd3 = unique ( v1.begin ( ) , v1_NewEnd2, greater<int>( ) ); cout << "在大于意义下,除去相连等价元素后 v1= ( " ; for ( v1_Iter3 = v1.begin( ) ; v1_Iter3 != v1_NewEnd3 ; v1_Iter3++ ) cout << *v1_Iter3 << " "; cout << ")." << endl; }

    0
    107
    734KB
    2010-11-20
    10
  • C++标准程式库(侯捷)

    巨細靡遺 井然有序 (侯捷譯序) 自從1998 年C++ Standard 定案以後,C++ 程式庫便有了大幅擴充。原先為大家所 熟知、標準規格定案前蘊釀已久的STL(Standard Template Library,標準模板程 式庫),不再被單獨對待,而是被納入整個C++ 標準程式庫(Standard Library)。 同時,原有的程式庫(如iostream)也根據泛型技術(generics)在內部㆖做了很 大的修改。可以說,C++ Standard 的發佈對C++ 社群帶來了翻㆝覆㆞的大變動 — 不是來自語言本身,而是來自標準程式庫。這個變動,影響C++ 程式編寫風格至 鉅,C++之父Bjarne Stroustrup 並因此寫了㆒篇文章:Learning Standard C++ as a New Language(載於C/C++ User's Journal, 1999/05)。

    5
    72
    2.34MB
    2010-11-20
    5
  • C+++中的set容器

    详细介绍了STL中SET容器的各个函数的用法。

    0
    30
    279KB
    2010-11-20
    0
  • C++_标准模板库(STL)

    C++ STL (Standard Template Library标准模板库) 是通用类模板和算法的集合,它提供给程序员一些标准的数据结构的实现如 queues(队列), lists(链表), 和 stacks(栈)等. C++ STL 提供给程序员以下三类数据结构的实现: 标准容器类 顺序性容器 vector 从后面快速的插入与删除,直接访问任何元素 deque 从前面或后面快速的插入与删除,直接访问任何元素 list 双链表,从任何地方快速插入与删除 关联容器 set 快速查找,不允许重复值 multiset 快速查找,允许重复值 map 一对多映射,基于关键字快速查找,

    5
    37
    425KB
    2010-11-20
    5
  • C++_STL编程轻松入门

    作为C++标准不可缺少的一部分,STL 应该是渗透在C++程序的角角落落里的。 STL 不是实验室里的宠儿,也不是程序员桌上的摆设,她的激动人心并非昙花一 现。本教程旨在传播和普及STL 的基础知识,若能借此机会为STL 的推广做些力 所能及的事情,到也是件让人愉快的事情。

    3
    58
    508KB
    2010-11-20
    10
  • C++ Templates全览_中文版

    C++ Templates全览_中文版 侯捷翻译 高清电子版的

    0
    25
    2.17MB
    2010-11-20
    4
  • WTL_For_MFC+Programmer_CN

    WTL的类大致可以分为几种类型: 1. 主框架窗口的实现- CFrameWindowImpl, CMDIFrameWindowImpl 2. 控件的封装- CButton, CListViewCtrl 3. GDI 对象的封装- CDC, CMenu 4. 一些特殊的界面特性 - CSplitterWindow, CUpdateUI, CDialogResize, CCustomDraw 5. 实用的工具类和宏- CString, CRect, BEGIN_MSG_MAP_EX 本篇文章将深入地介绍框架窗口类,还将简要地讲一下有关的界面特性类和工具类,这些界面特性类和工具类中绝大多数都是独立的类,尽管有一些是嵌入类,例如:CDialogResize。

    5
    26
    1.99MB
    2010-10-22
    5
  • VC# 2008 从入门到精通

    Microsoft Visual C#是Microsoft 的一种强大的、面向组件的语言。C#在Microsoft .NET Framework 构架中扮演着重要的角色,一些人甚至将它与C 在UNIX 开发中的角色相提并论。 如果你已经掌握了C,C++或者Java 语言的知识,会发现C# 的语法非常熟悉。即使你以前 习惯于用其他语言来编程,也应该能够迅速掌握C#的语法——只需学会在恰当的位置添加 大括号和分号即可。希望本书能帮助你! 在第Ⅰ部分中,你将学习C#的基础知识。将学习如何声明变量,以及如何使用加(+) 和减(–)操作符来处理变量中的值。将学习如何编写方法,如何向方法传递值。另外,还 将学习如何使用选择语句(如if)和迭代语句(如while)。最后,你将理解C#如何利用“异 常”,以一种优雅、易用的方式来处理错误。这些主题构成了C#语言的核心。在掌握了这些 基础知识之后,就可以顺利地过渡到第Ⅱ~Ⅵ部分的高级主题。

    0
    112
    3.24MB
    2010-10-22
    18
  • BCGControlBarPro.v12.00.part3

    使用方法: 1、解压至C:\Program Files目录下(密码:xiaoqing); 2、双击导入注册表C:\Program Files\BCGSoft\BCGControlBarPro\bcgcontrolbarpro.12.00.reg; 3、运行向导C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBProIntegrationWizard.exe。

    4
    26
    7.9MB
    2010-10-22
    3
  • 创作能手

    授予每个自然周发布1篇到3篇原创IT博文的用户
  • 分享宗师

    成功上传21个资源即可获取
  • 分享王者

    成功上传51个资源即可获取
关注 私信
上传资源赚积分or赚钱