资源简介
提供的是本书的课后习题源代码,也就是《C++程序设计语言(特别版)题解》的源代码。非书中源代码。
本版本是高清版,是第1版第18次印刷,是书签最全最好的版本。
基本信息
原书名: The C++ Programming Language, Special Edition
原出版社: Addison Wesley
作者: (美)Bjarne Stroustrup
译者: 裘宗燕
丛书名: 计算机科学丛书
出版社:机械工业出版社
ISBN:7111102029
上架时间:2002-7-12
出版日期:2002 年7月
页码:936
版次:1-1
内容简介
本书介绍了标准c++以及由c++所支持的关键性编程技术和设计技术。标准c++较以前的版本功能更强大,其中许多新的语言特性,如名字空间、异常、模板、运行时类型声明等使得新技术得以直接应用。本书围绕语言及库功能来组织,内容涉及c++的主要特征及标准库,并通过系统软件领域中的实例解释说明一些关键性的概念与技术。 本书的目的就是帮助读者了解c++是如何支持编程技术的,使读者能从中获得新的理解,从而成为一名优秀的编程人员和设计人员。适合做高校面向对象编程课程的教科书,也可作为c++爱好者的参考书。
[center] [a href=http://www.china-pub.com/main/sale/c++tb.htm target=_blank]c++之父bjarne stroustrup博士专访[/a]
[a href="http://www.is.pku.edu.cn/~qzy/cpp.htm" target="_blank"]《c++程序设计语言》程序的更正和更新[/a]
[a href="http://www.china-pub.com/temporary/list/cooperate/zipdownload/zg.zip" target="_blank"]本书忠告[/a] [/center]
作译者
作者: Bjarne Stroustrup
Bjarne Stroustrup现任AT&T实验室的大型程序设计研究部的主管。1990年,Bjarne荣获《财富》杂志评选的“美国12位最年轻的科学家”称号。1993年,由于在C++领域的重大贡献,Bjarne获得了ACM该年度的 Grace Murray Hopper大奖并成为ACM院士(成立于1947年的ACM协会是历史最悠久、目前世界上最大的教育和科学计算协会,成为ACM院士是个人成就的里程碑)。1995年,BYTE杂志颁予他“近20年来计算机工业最具影响力的20人”的称号。
[同作者作品]
C++ 程序设计语言(特别版)(英文影印版)
C++语言的设计和演化[按需印刷]
C++程序设计语言(特别版)
译者: 裘宗燕
知名译者,翻译严谨,喜与读者交流。 裘宗燕教授是北京大学数学学院信息科学系的,关心的主要学术领域包括计算机软件理论、程序设计方法学、程序设计语言和符号计算。已出版多部著作和译著,包括《程序设计语言基础》(译著,1990),《Mathematica数学软件系统的应用与程序设计》(1994),《从问题到程序——程序设计与C语言引论》(1999)
[同作者作品]
计算机基础教程(上下)(文科类)(裘宗燕等)
数据结构——C++与面向对象的途径
数据结构--C++与面向对象的途径(修订版)
目录
出版者的话
专家指导委员会
中文版序
译者序
序
第2版序
第1版序
导 论
第1章 致读者 3
1.1 本书的结构 3
1.1.1 例子和参考 4
1.1.2 练习 5
1.1.3 有关实现的注记 5
1.2 学习c++ 6
1.3 c++ 的设计 7
1.3.1 效率和结构 8
1.3.2 哲学注记 9
1.4 历史注记 9
1.5 c++ 的使用 11
1.6 c和c++ 12
.1.6.1 给c程序员的建议 13
1.6.2 给c++程序员的建议 13
1.7 有关在c++里编程的思考 14
1.8 忠告 15
1.9 参考文献 16
第2章 c++概览 19
2.1 为什么是c++ 19
2.2 程序设计范型 19
2.3 过程式程序设计 20
2.3.1 变量和算术 21
2.3.2 检测和循环 22
2.3.3 指针和数组 23
2.4 模块程序设计 23
2.4.1 分别编译 24
2.4.2 异常处理 25
2.5 数据抽象 26
2.5.1 定义类型的模块 27
2.5.2 用户定义类型 28
2.5.3 具体类型 29
2.5.4 抽象类型 31
2.5.
代码片段和文件信息
/* Code for exercise 10.12.
|
| “C++ Solutions--Companion to The C++ Programming Language Third Edition“
| by David Vandevoorde; Addison-Wesley 1998; ISBN 0-201-30965-3.
|
| Permission to use copy modify distribute and sell this software
| and its documentation for any purpose is hereby granted without fee.
| The author makes no representations about the suitability of this
| software for any purpose. It is provided “as is“ without express or
| implied warranty.
‘----------------------------------------------------------------------*/
#include
#include
/* The following can go in a header file */
#include
#include
struct Char_queue {
inline Char_queue(unsigned capacity = default_capacity);
~Char_queue() { delete[] queue_; }
bool empty() const { return head_==tail_; }
inline char dequeue();
inline void enqueue(char);
bool full() const { return head_==(tail_+1)%capacity_; }
static bool const fixed_capacity = true;
private:
static unsigned const default_capacity = 32;
char *queue_;
unsigned head_ tail_;
unsigned const capacity_;
};
inline
Char_queue::Char_queue(unsigned n)
: queue_(new char[n+1]) head_(0) tail_(0) capacity_(n+1) {
}
inline
char Char_queue::dequeue() {
if (!empty()) {
char c = queue_[head_];
head_ = (head_+1)%capacity_;
return c;
} else
throw std::underflow_error(std::string(“queue“));
}
inline
void Char_queue::enqueue(char c) {
if (!full()) {
queue_[tail_] = c;
tail_ = (tail_+1)%capacity_;
} else
throw std::overflow_error(std::string(“queue“));
}
/* Header file would stop here. */
/* A brief test of the above implementation: */
int main() {
Char_queue q(4);
while (1) {
if (q.empty()) { std::cout << “Queue is empty.\n“; }
else if (q.full()) { std::cout << “Queue is full.\n“; }
char cmd ch;
std::cin >> cmd;
try {
switch (cmd) {
case ‘e‘: case ‘E‘:
std::cin >> ch;
q.enqueue(ch);
break;
case ‘d‘: case ‘D‘:
std::cout << “Dequeued “ << q.dequeue() << ‘\n‘;
break;
case ‘q‘: case ‘Q‘:
std::cout << “Quitting!\n“;
return 0;
default:
std::cerr << “Invalid command!\n“;
}
} catch (std::exception &x) {
std::cerr << “Caught exception “ << typeid(x).name()
<< “ (“ << x.what() << “)\n“;
}
}
return 0;
}
- 上一篇:Android理财通助手源码
- 下一篇:计算机专业毕业论文-网上订餐系统
相关资源
- cJSON-master.zip
- 蓝桥杯历年真题解析视频讲解javaB组
- GSAssist.vsix
- 3des加解密
- C++与java的综述与比较
- Java转C++代码工具 J2C
- 在Qt平台C++和Java代码的交互
- 简单函数绘图语言java
- java2cpp java转C++
- C++ to Java Converter
- C++转换为Java工具破解版[非试用版1.
- JNI与C++数据类型传递包括ArrayList对象
- C#、C++、HTML5、JAVA、Python、数据结构与
- C++ Tokenizer
- C++调用java jar包测试代码
- C++实现带括号正整数加减乘除的计算
- RX3399开发板Android双屏异触解决C++文件
- C、Java和Python的BNF范式
- c++餐饮管理系统源代码
- 读取LCM的日志文件
- C++、VB、DELPHI、JAVA、C#调用DLL
- 华为C++/C/java代码规范完整版
- Functional Programming with C++
- notepad++ 7.4.2带插件管理
- c++ AES 兼容 JAVA AES CBC PKCS5Padding C#
- VC++实现通过adb检测android设备是否连接
- c++客户端和javaNetty服务器端tcp通讯
-
NppAst
yle用于格式化Notepad中编辑的 - C++与android通过socket通信(上个版本端
- C++ Primer Plus(Cpp Primer)第6版中文版源
评论
共有 条评论