没有合适的资源?快使用搜索试试~ 我知道了~
首页C++编程速成:第六版英文版
C++编程速成:第六版英文版
需积分: 9 1 下载量 200 浏览量
更新于2024-07-29
收藏 3.98MB PDF 举报
"21天学通C++(第六版)英文版,这是一本适合初学者的C++教程,特点是简单、易懂且快速上手。"
C++是一种通用的编程语言,由Bjarne Stroustrup在1983年基于C语言发展而来,它在C的基础上增加了面向对象编程、泛型编程和底层编程的能力,使得程序员能够更加灵活地设计和实现复杂系统。C++的语法严谨,强调类型检查,因此对程序员的错误容忍度较低,但也因此提供了更高的性能。
《21天学通C++》第六版是针对想要快速掌握C++基础的读者设计的教程,由Jesse Liberty、Siddhartha Rao和Bradley Jones共同编写。书中的"在一天一小时内学通"概念,旨在通过分解复杂的概念,让学习者每天专注一小部分,逐步建立起对C++的全面理解。这种方法鼓励学习者以实践为主,理论与实践相结合,提高学习效率。
本书涵盖了C++的基础知识,包括但不限于:
1. **基本语法**:如变量声明、数据类型、运算符、流程控制语句(if-else、switch-case、循环等)。
2. **函数**:函数定义、调用、参数传递以及函数模板。
3. **类与对象**:面向对象编程的核心概念,类的定义、对象的创建、封装、继承和多态性。
4. **内存管理**:动态内存分配与释放(new和delete操作),理解堆栈和堆的区别。
5. **输入/输出流**:使用iostream库进行标准输入输出,包括cin和cout的使用。
6. **容器与迭代器**:STL(Standard Template Library)中的向量、列表、映射等容器,以及迭代器的使用。
7. **模板**:泛型编程,使代码更具通用性。
8. **异常处理**:用于捕获和处理程序运行时可能出现的错误。
9. **预处理器**:宏定义和头文件包含等。
此外,书中还可能包含编译和调试技巧,以及如何使用标准库和其他C++工具来提升开发效率。每章通常会配有练习题和实例,帮助巩固所学知识。
学习C++不仅能够提升编程能力,还能为学习其他编程语言和理解计算机工作原理打下坚实基础。对于想要深入计算机科学或软件工程领域的读者来说,C++是一门不可或缺的语言。《21天学通C++》第六版的易读性和实用性,使其成为入门C++的理想选择。
PART III: Learning the Standard Template Library (STL)
LESSON 16: An Introduction to the Standard Template Library 447
STL Containers..................................................................................................448
Sequential Containers
................................................................................448
Associative Containers
..............................................................................448
Choosing the Right Container
......................................................................449
STL Iterators
....................................................................................................451
STL Algorithms
................................................................................................452
The Interaction Between Containers and Algorithms Using Iterators
............................453
Summary
..........................................................................................................455
Q&A
................................................................................................................455
Workshop
........................................................................................................456
LESSON 17: The STL string Class 457
The Need for String Manipulation Classes ..............................................................458
Working with the STL
string Class......................................................................459
Instantiating the STL
string and Making Copies ..........................................459
Accessing a
string and Its Contents ............................................................461
String Concatenation
..................................................................................463
Finding a Character or Substring in a
string ................................................464
Truncating an STL
string..........................................................................467
String Reversal
........................................................................................468
String Case Conversion
..............................................................................469
Template-Based Implementation of an STL
string..................................................471
Summary
..........................................................................................................471
Q&A
................................................................................................................471
Workshop
........................................................................................................472
LESSON 18: STL Dynamic Array Classes 473
The Characteristics of std::vector ......................................................................474
Typical Vector Operations
....................................................................................474
Instantiating a
vector ................................................................................474
Inserting Elements in a
vector ....................................................................476
Accessing Elements in a
vector ..................................................................480
Removing Elements from a
vector ..............................................................482
Understanding
size() and capacity() ................................................................484
Contents
xv
The STL deque Class..........................................................................................486
Summary
..........................................................................................................488
Q&A
................................................................................................................488
Workshop
........................................................................................................489
LESSON 19: STL list 491
The Characteristics of a std::list ......................................................................492
Basic
list Operations ........................................................................................492
Instantiating a
std::list Object ................................................................492
Inserting Elements at the Front of the
list ....................................................493
Inserting Elements at the Back of the
list ....................................................494
Inserting at the Middle of the
list ..............................................................495
Erasing Elements in a
list ........................................................................497
Reversing and Sorting Elements in a
list ..............................................................500
Reversing Elements
..................................................................................500
Sorting Elements
......................................................................................502
Summary
..........................................................................................................511
Q&A
................................................................................................................511
Workshop
........................................................................................................512
LESSON 20: STL set and multiset 513
An Introduction ................................................................................................514
Basic STL
set and multiset Operations ..............................................................514
Instantiating a
std::set Object ..................................................................514
Inserting Elements in an STL
set or multiset ..............................................515
Finding Elements in an STL
set or multiset ................................................517
Erasing Elements in an STL
set or multiset ................................................519
Pros and Cons of Using STL
set and multiset ......................................................529
Summary
..........................................................................................................529
Q&A
................................................................................................................530
Workshop
........................................................................................................530
LESSON 21: STL map and multimap 533
A Brief Introduction ..........................................................................................534
Basic STL
map and multimap Operations ..............................................................534
Instantiating a
std::map Object ..................................................................534
Inserting Elements in an STL
map or multimap ..............................................535
xvi
Sams Teach Yourself C++ in One Hour a Day
Finding Elements in an STL map or multimap ................................................538
Erasing Elements from an STL
map or multimap ............................................540
Supplying a Custom Sort Predicate
........................................................................543
Summary
..........................................................................................................547
Q&A
................................................................................................................547
Workshop
........................................................................................................548
PART IV: More STL
LESSON 22: Understanding Function Objects 553
The Concept of Function Objects and Predicates......................................................554
Typical Applications of Function Objects
................................................................554
Unary Functions
........................................................................................554
Unary Predicate
........................................................................................559
Binary Functions
......................................................................................561
Binary Predicate
........................................................................................563
Summary
..........................................................................................................566
Q&A
................................................................................................................566
Workshop
........................................................................................................567
LESSON 23: STL Algorithms 569
What Are STL Algorithms?..................................................................................570
Classification of STL Algorithms
..........................................................................570
Nonmutating Algorithms
............................................................................570
Mutating Algorithms
..................................................................................571
Usage of STL Algorithms
....................................................................................573
Counting and Finding Elements
..................................................................573
Searching for an Element or a Range in a Collection
........................................576
Initializing Elements in a Container to a Specific Value
....................................578
Processing Elements in a Range Using
for_each............................................581
Performing Transformations on a Range Using
std::transform ......................583
Copy and Remove Operations
......................................................................585
Replacing Values and Replacing Element Given a Condition
............................589
Sorting and Searching in a Sorted Collection, and Erasing Duplicates
................591
Partitioning a Range
..................................................................................593
Inserting Elements in a Sorted Collection
......................................................595
Summary
..........................................................................................................598
Contents
xvii
Q&A................................................................................................................598
Workshop
........................................................................................................599
LESSON 24: Adaptive Containers: stack and queue 601
The Behavioral Characteristics of Stacks and Queues................................................602
Stacks
....................................................................................................602
Queues
....................................................................................................602
Using the STL
stack Class..................................................................................603
Instantiating the Stack
................................................................................603
Stack Member Functions
............................................................................604
Using the STL
queue Class..................................................................................606
Instantiating the Queue
..............................................................................606
Member Functions of a
queue ....................................................................607
Using the STL Priority Queue
..............................................................................610
Instantiating the
priority_queue Class ........................................................610
Member Functions of
priority_queue ........................................................611
Summary
..........................................................................................................615
Q&A
................................................................................................................615
Workshop
........................................................................................................615
LESSON 25: Working with Bit Flags Using STL 617
The bitset Class ..............................................................................................618
Instantiating the
std::bitset ....................................................................618
Using
std::bitset and Its Members ....................................................................619
std:bitset Operators ..............................................................................619
std::bitset Member Methods ..................................................................620
The
vector<bool> ............................................................................................623
Instantiating a
vector<bool> ......................................................................623
Using the
vector<bool> ............................................................................624
Summary
..........................................................................................................625
Q&A
................................................................................................................625
Workshop
........................................................................................................626
xviii
Sams Teach Yourself C++ in One Hour a Day
PART V: Advanced C++ Concepts
LESSON 26: Understanding Smart Pointers 629
What Are Smart Pointers? ....................................................................................630
What Is the Problem with Using Conventional (Raw) Pointers?
........................630
How Do Smart Pointers Help?
....................................................................630
How Are Smart Pointers Implemented?
..................................................................631
Types of Smart Pointers
......................................................................................632
Deep Copy
..............................................................................................633
Copy on Write Mechanism
..........................................................................635
Reference Counted Smart Pointers
................................................................635
Reference-Linked Smart Pointers
................................................................636
Destructive Copy
......................................................................................636
Using the
std::auto_ptr ..................................................................................638
Popular Smart Pointer Libraries
............................................................................640
Summary
..........................................................................................................640
Q&A
................................................................................................................641
Workshop
........................................................................................................641
LESSON 27: Working with Streams 643
Overview of Streams ..........................................................................................644
Encapsulation of Data Flow
........................................................................644
Understanding Buffering
............................................................................645
Streams and Buffers
............................................................................................647
Standard I/O Objects
..........................................................................................647
Redirection of the Standard Streams
......................................................................648
Input Using
cin ................................................................................................649
Inputting Strings
......................................................................................651
String Problems
........................................................................................651
The
cin Return Value ................................................................................654
Other Member Functions of
cin ..........................................................................654
Single Character Input
................................................................................655
Getting Strings from Standard Input
..............................................................657
Using
cin.ignore() ................................................................................660
Peeking At and Returning Characters:
peek() and putback() ..........................662
Contents
xix
剩余885页未读,继续阅读
2013-01-02 上传
246 浏览量
326 浏览量
452 浏览量
ianmoscow
- 粉丝: 3
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 掌握Jive for Android SDK:示例应用的使用指南
- Python中的贝叶斯建模与概率编程指南
- 自动化NBA球员统计分析与电子邮件报告工具
- 下载安卓购物经理带源代码完整项目
- 图片压缩包中的内容解密
- C++基础教程视频-数据类型与运算符详解
- 探索Java中的曼德布罗图形绘制
- VTK9.3.0 64位SDK包发布,图像处理开发利器
- 自导向运载平台的行业设计方案解读
- 自定义 Datadog 代理检查:Python 实现与应用
- 基于Python实现的商品推荐系统源码与项目说明
- PMing繁体版字体下载,设计师必备素材
- 软件工程餐厅项目存储库:Java语言实践
- 康佳LED55R6000U电视机固件升级指南
- Sublime Text状态栏插件:ShowOpenFiles功能详解
- 一站式部署thinksns社交系统,小白轻松上手
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功