![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++: THE COMPLETE REFERENCE 译读
文章平均质量分 63
ThinkingHalo
这个作者很懒,什么都没留下…
展开
-
(0)'C++: THE COMPLETE REFERENCE' --介绍
介绍 如果说有一种程序设计语言定义了现代编程,那么它就是c++。它的语法、风格以及哲学理念为其它程序设计语言提供了可供参考的标准。此外,c++还是一种使用非常广泛的编程语言。例如,当我们需要描述算法或者某项技术的时候,我们常常会使用c++的语法风格。c++长期以来的成功表现也在计算机语言的发展历史上留下了很深的印记。比如说,java和c#语言就是在c++语言的基础上诞生的。所以,翻译 2007-01-15 13:38:00 · 818 阅读 · 0 评论 -
(17)'c++:COMPLETE REFERENCE' 第一部分 第二章(表达式) 第九节操作符(2)
操作符(2)位操作符 与其它语言不同,c++提供了完整的位操作符。C语言设计的目的就是为了取代汇编语言来完成大部分的编程任务。这就要求C语言必须支持所以汇编语言可以完成的操作,包括位操作。位操作包括位测试、置位、移位等基于字节或者字中的自然位的操作。对应的数据类型往往是char和int等。不能对float、double、long double、void、bool等复杂的数据类型进翻译 2007-03-14 16:54:00 · 838 阅读 · 0 评论 -
(19)'c++:COMPLETE REFERENCE' 第一部分 第三章(语句) 第一节
本章我们来讨论语句,通常情况下语句是程序的一部分,可以被执行.每个语句通常都定义了某个行为.C语言和c++中的语句可以被分为以下的几种:选择语句,循环语句,跳转语句,标号语句,表达式语句,块语句. 选择语句也称为条件语句.条件语句中用到的关键字有 if 和 switch.循环语句关键字有 while,for,do-while.循环语句也有两种叫法: iteration s翻译 2007-03-15 11:57:00 · 562 阅读 · 0 评论 -
(20)'c++:COMPLETE REFERENCE' 第一部分 第三章(语句) 第二节
选择语句 C/C++提供了两种选择语句类型: if语句和switch语句.另外,?操作符在某些特定的情况下可以取代if语句.if if语句的一般格式如下:if(expression) statementelse statement;其中,statement可以由单个语句,块语句,或者空语句组成.子语句else是可选了. 如果expression翻译 2007-03-15 18:00:00 · 785 阅读 · 0 评论 -
(23)'c++:COMPLETE REFERENCE' 第一部分 第三章(语句) 第四节
在选择和循环语句中声明变量 在c++中(不适用C89标准),允许在if和switch语句的条件表达式中,在while循环的条件表达式中,在for循环的初始化部分定义变量.在这些地方声明的变量仅仅在循环代码块中有效.例如,for循环的初始化部分中声明的变量仅仅在循环中有效.看下面的例子:/* i is local to for loop; j is known outside lo翻译 2007-03-21 12:11:00 · 774 阅读 · 0 评论 -
(24)'c++:COMPLETE REFERENCE' 第一部分 第三章(语句) 第五节
跳转语句 return语句 return语句用来从函数中返回.之所以把return也定义为跳转语句是因为它迫使函数的执行中止并跳转到调用函数的点继续执行程序.return可以带一个返回值,也可以不带.如果有关联的返回值,则这个值将是函数的值.在C89标准中一个非返回值为空的函数中,return也可以不带任何返回值,这样以来函数的返回值将是一个垃圾数值(无效的).而在C++中,翻译 2007-03-21 16:10:00 · 613 阅读 · 0 评论 -
(25)'c++:COMPLETE REFERENCE' 第一部分 第三章(语句) 第六、七节
表达式语句 第二章已经对表达式进行了完整的描述,然而,这里还需要做些特别说明.记住,一个表达式语句就是一个表达式加上一个分号.如:func(); /* a function call */a = b + c; /* a assignment statement */b + f(); /* a valide but strange statement */; /* an e翻译 2007-03-21 16:27:00 · 617 阅读 · 0 评论 -
(26)'c++:COMPLETE REFERENCE' 第一部分 第四章(数组和以空字符结束的字符串) 第一节
数组是一组数据类型相同的变量的集合,它们用一个通用的名字来代替.数组中每一个特定的元素都用索引来访问.在C/C++中,数组由一组相邻的内存地址组成.最低位的地址对应数组的第一个元素,最高位的地址对应最后一个元素.数组可以是一维或者多维的.最常见的数组是以空字符结束的字符串,它是一个简单的由字符组成并由空字符做为结束的数组. 数组和指针是密切相关的.它们通常联系在一起讨论.翻译 2007-03-21 19:01:00 · 664 阅读 · 0 评论 -
(27)'c++:COMPLETE REFERENCE' 第一部分 第四章(数组和以空字符结束的字符串) 第二节
指向数组的指针 在定义了数组名称的时候,就产生了一个指向数组的第一个元素的指针,指针的名称就是数组的名称去掉索引部分.例如:int sample[10]; 则sample就是一个指向数组起始位置的指针.下面的例子把sample中的地址赋值给指针p.int *p;int sample[10];p = sample; 也可以用&符号获得数组起始位置翻译 2007-03-21 19:03:00 · 573 阅读 · 0 评论 -
(28)'c++:COMPLETE REFERENCE' 第一部分 第四章(数组和以空字符结束的字符串) 第三节
将一维数组传递给函数 在C/C++中,不能够将整个数组做为参数传递给函数.不过我们可以把指向数组的指针传递给函数,可以直接使用不包含索引部分的数组名.下面的代码片断把数组i的地址传递给函数func1().int main( void ){ int i[10]; func1( i ); . . .} 如果一个函数要接收一个一维数组,可翻译 2007-03-21 19:06:00 · 820 阅读 · 0 评论 -
(22)'c++:COMPLETE REFERENCE' 第一部分 第三章(语句) 第三节(2)
while循环 while循环的常用格式如下:while(condition) statement; statement(语句)可以是任意的语句或者语句块,甚至空语句.condition需要是一个条件表达式,0为false,非零为true.当条件表达式为false时,循环退出.当条件返回值为true的时候,循环会一直执行.下面是一个键盘输入小程序,当用户输入A的时候翻译 2007-03-21 11:46:00 · 667 阅读 · 0 评论 -
(29)'c++:COMPLETE REFERENCE' 第一部分 第四章(数组和以空字符结束的字符串) 第四节
到目前为止,一维数组最常用的地方还是字符串.C++支持两种类型的字符串.第一种是以空字符结束的字符串,它是一个一维字符数组,以空字符做为结束.(空字符就是0)这是C语言中定义的唯一一种字符串类型,而且被广泛的应用.有时,空字符结尾字符串也被称为C-strings.C++还定义了一个字符串类,名叫string,它提供了一种处理字符串的面向对象的方式.string类将在后面讲述,现在我们来翻译 2007-03-22 11:34:00 · 1343 阅读 · 0 评论 -
(30)'c++:COMPLETE REFERENCE' 第一部分 第四章(数组和以空字符结束的字符串) 第五节
二维数组 C/C++支持多维数组,其中最简单的多维数组就是二维数组.二维数组本质上是一个由多个一位数组组成的数组.例如,要定义一个整型二维数组,大小为10和20,名字为d,我们应该这样书写:int d[10][20]; 注意看二维数组的声明,有些其它语言用逗号将两个维格开.C/C++则用两个独立的方括号.类似于一维数组,要访问点1,2上的元素,应该这样写:d[1翻译 2007-03-22 13:32:00 · 826 阅读 · 0 评论 -
(31)'c++:COMPLETE REFERENCE' 第一部分 第四章(数组和以空字符结束的字符串) 第六节
多维数组 C/C++允许创建多维数组.具体能够有多少维的上限要取决于编译器的具体实现.通常格式如下:type name[size1][size2]...[sizeN]; 实际上三维以上的数组用的非常少,因为它们需要占据大量的内存.例如,一个10,9,6,4的四维字符数组需要2160字节的空间.如果这个数组存储的是2字节的整型,则需要4320字节空间.如果它用是dou翻译 2007-03-22 17:39:00 · 769 阅读 · 0 评论 -
(32)'c++:COMPLETE REFERENCE' 第一部分 第四章(数组和以空字符结束的字符串) 第七节
索引指针 在C/C++中,指针和数组是紧密相连的.正如我们说过的.数组名去掉索引部分就是一个指向数组第一个元素的指针.例如,我们看下面的例子:char p[10];下面的写法意义是一样的:p&p[0]换言之:p == &p[0]这是因为数组的地址就是数组的第一个元素的地址. 正如说过的,数组的名字去掉索引方括号部分则代表一个指针,指向数组的第一个翻译 2007-03-22 18:42:00 · 656 阅读 · 0 评论 -
(34)'c++:COMPLETE REFERENCE' 第一部分 第四章(数组和以空字符结束的字符串) 第九节
Tic-Tac-Toe程序示例 下面这个有些长的程序为你示范了C/C++中的数组的各种操作方法.这个程序是一个Tic-Tac-Toe小游戏.游戏中用二维数组来模拟一个木板游戏方阵.计算机也来参与这个游戏,当轮到计算机走棋的时候,它使用get_computer_move()函数来扫描矩阵,寻找一个未占领的格子.然后它会在那里放置一个o.如果,它不能找到一个空位,它会报平局并且退出.ge翻译 2007-03-23 12:35:00 · 803 阅读 · 0 评论 -
(35)'c++:COMPLETE REFERENCE' 第一部分 第五章(指针) 第一节
正确的理解和使用指针是能否成功的使用C/C++进行编程的关键.这样讲有三个原因:第一,指针提供了函数修改实参的途径.第二,指针支持动态内存分配.第三,对于某些特定的例程,指针可以增加运行的效率.你在第二部分将会看到,指针还有其它许多重要的作用. 指针是C/C++中最强大也是最危险的特性.例如,未经初始化的指针有可能导致系统崩溃.也许更严重的是,使用指针的不慎,可能产生无法翻译 2007-03-24 10:57:00 · 898 阅读 · 0 评论 -
(36)'c++:COMPLETE REFERENCE' 第一部分 第五章(指针) 第二节
指针变量 如果一个变量要被用来存储指针,那么首先它在声明的之时就必须明确限定它是指针变量.指针变量的声明包括:基类型,*星号,变量名.通常格式如下:type *name; type是指针的基类型,可以是任何有效数值.指针变量的名字就是name. 指针的基类型定义了指针可以指向的数据类型.理论上说,任何类型的指针可以指向任何内存地址.然而,指针的算术运算还是翻译 2007-03-24 11:10:00 · 776 阅读 · 0 评论 -
(21)'c++:COMPLETE REFERENCE' 第一部分 第三章(语句) 第三节(1)
在C/C++以及其它现代编程语言中,都存在循环语句,它允许一个指令序列能被反复的执行,直到某个特定的条件被达到.这个条件可以是被预先定义的(如在for循环中),也可以是末端开口的(如while和do while循环).for循环语句 for循环在其它语言中也有其它形式的定义,但是C/C++为我们提供了超出预料的强大而灵活的for语句.通用格式如下:for( ini翻译 2007-03-19 12:54:00 · 866 阅读 · 0 评论 -
最近没有弹吉他
这些天一直值班,住在值班室,不能弹吉他.做为一个吉他初学者,这样可能会很不利.估计前些天稍微学会的那么一点儿东西也都荒废了,回头还要重新开始. 不过我不着急,相信以后慢慢会入门的,还是期待能早一天学会弹奏自己喜欢的歌曲.翻译 2007-03-19 12:57:00 · 829 阅读 · 0 评论 -
(18)'c++:COMPLETE REFERENCE' 第一部分 第二章(表达式) 第十节
表达式 操作符,常量,变量都是表达式的组成部分.在c++中,表达式就是这些元素构成的有效的组合.C语言的表达式基本遵循一般代数规则,有几点却是与C语言紧密相关的,以下将分别加以讨论。求值的顺序 C语言和c++都没有指定表达式中的子表达式的求值顺序的规则.这就给编译器留下了重新编排优化表达式的自由.然而,这也意味着我们编写的程序中用到表达式时,表达式的值不应该依赖于它翻译 2007-03-14 18:43:00 · 597 阅读 · 0 评论 -
(6)'c++:COMPLETE REFERENCE' 第一部分 第一章(c语言概述) 第五节
c语言程序的构成 表1-2列出了32个关键字,这32个关键字构成了C89的关键字集合,同时,也就是构成了c++的c语言子集的关键字集合。当然,它们都是c++的关键字。 作为补充,很多编译器增加了一些自己的关键字使得相关操作环境能够得到更加充分的利用。例如,很多编译器增加了管理内存的关键字,用于使8086系列的处理器能够支持跨语言编程和访问中断。以下是一些常用的扩展关键字翻译 2007-01-20 10:42:00 · 935 阅读 · 0 评论 -
(5)'c++:COMPLETE REFERENCE' 第一部分 第一章(c语言概述) 第四节
c语言是程序员的语言 也许你会觉得惊讶,并不是所有的编程语言都是程序员的语言。比如经典的COBOL和BASIC语言。COBOL语言设计的目标并不是为了方便程序员使用的,它也没有在增加代码可靠性或者增加编码速度上下功夫。COBOL设计的部分目标却是让并不是程序员的人也能够阅读或者通过推测了解程序的大意。BASIC创造的初衷也是让非程序员能够编写简单的程序以解决他们的一些有关问题。翻译 2007-01-19 11:50:00 · 598 阅读 · 0 评论 -
译读 'C++: THE COMPLETE REFERENCE' 开篇
书名: C++: THE COMPLETE REFERENCE 第四版影印版出版社: 清华大学出版社作者: Herbert Schildt内容简介:本书全面介绍了C++语言的各个方面,如关键字、语法、函数、类和库,以及一些C++的高级特性,如重载、继承、虚拟函数、命名空间、模板、RTTI(运行时类型信息)以及STL(标准模板库)等。读书原创 2007-01-15 13:00:00 · 667 阅读 · 0 评论 -
(2)'c++:COMPLETE REFERENCE' 第一部分 第一章(c语言概述) 第一节
想要深入了了解c++,我们首先需要了解c++诞生的原因,c++规范所遵循的理念,以及它继承了什么样的特性。因此,我们介绍c++之前,首先要介绍c语言。本章将讲述c语言的起源、使用、潜在的哲学理念。c++是在c语言基础上创造的,因此本章为介绍c++的起源提供了重要的历史回顾。是什么让c++真正成为c++?这是由c语言源起的。c语言的起源和发展历史 c语言是由Dennis翻译 2007-01-17 18:16:00 · 695 阅读 · 0 评论 -
(7)'c++:COMPLETE REFERENCE' 第一部分 第一章(c语言概述) 第六节
库和连接 从技术上讲,你可以用纯手工编码的方式实现实用并且功能强大的程序。当然这样的做法时相当罕见的,因为无论是c语言还是c++,都没有提供实现诸如I/O操作符、高级数学计算、字符处理等功能的关键字。因此,大部分程序都需要调用标准函数库里包含的相关函数。 大部分编译器都提供一个标准函数库用来完成常用的任务。c++规范也规定编译器必须实现的一些基本的函数功能。当然,各种编翻译 2007-01-20 11:48:00 · 722 阅读 · 0 评论 -
(1)'C++: THE COMPLETE REFERENCE' --第一部分 前言
第一部分 c++基础:c子集 本书将c++语言分为两部分进行讲解。第一部分讲述了c++与c语言类似的一些特性,主要是以c++的c语言子集的方式进行描述。第二部分则讲述了c++所特有的一些特性。这两部分合在一起,能让读者对于c++有一个完整的认识。 大家知道,c++是在c语言的基础上产生的。实际上,c++包含了整个c语言的内容,并且几乎大部分的c语言程序同时就是c++程翻译 2007-01-16 18:36:00 · 665 阅读 · 0 评论 -
(10)'c++:COMPLETE REFERENCE' 第一部分 第二章(表达式) 第二节
基本数据类型的修饰 除了void数据类型以外,每一种基本数据类型都可以在前面加上多种修饰符。这些修饰符可以改变这些基本数据类型的含义,使得它们可以更准确的适合各种不同的情形。常见的修饰符有以下几个:signedunsignedlongshort 可以用signed、short、long、unsigned来修饰整型,可以用unsigned和signed修饰字符型,同样也可翻译 2007-03-09 11:47:00 · 549 阅读 · 0 评论 -
(11)'c++:COMPLETE REFERENCE' 第一部分 第二章(表达式) 第三节
标识符命名 在c++中,变量、函数、标签以及多种用户自定义的对象都被称为标识符。这些标识符可以由若干的字符组成。第一个字符必须是字母或者下划线,后续的字符可以是字母、数字、或者下划线。下面列出了一些正确的标识符以及对应的不正确的标识符:Correct IncorrectCount 1counttest123 hi!翻译 2007-03-09 13:01:00 · 531 阅读 · 0 评论 -
(12)'c++:COMPLETE REFERENCE' 第一部分 第二章(表达式) 第四节
变量 变量就是一个被命名的内存地址,这个地址用来存储可被程序修改的数值。所有的变量在使用前必须首先被声明。通常的声明格式是:type variable_list;数据类型 变量名,[变量名]...; type必须是一个有效的数据类型加上任何合理的修饰符,voriable_list就是一个或者多个变量名称,中间用逗号分开,以分号结尾。以下是一些例子:int i,j,翻译 2007-03-09 18:39:00 · 665 阅读 · 0 评论 -
(13)'c++:COMPLETE REFERENCE' 第一部分 第二章(表达式) 第五节
const和volatile修饰符 有两种限制符能够对变量的访问和修改进行控制:const和volatile。它们必须写在所需要限制的类型修饰符和类型名称之前。这类限制符被称为cv限制符(修饰符)。const修饰符 const修饰符限定的变量将不能被你的程序所修改。(当然,一个const型的变量可以被赋予初值。)编译器将会把这种类型的变量(实际上经过限定符的限制它已翻译 2007-03-10 12:20:00 · 668 阅读 · 0 评论 -
(14)'c++:COMPLETE REFERENCE' 第一部分 第二章(表达式) 第六节
存储类别限制符 c语言支持四种存储类别限制符:extern、static、register、auto。 限制符告诉编译器如何存储其后的变量。通常格式如下: storage_specifier type var_name; 需要注意的是,存储类别限制符必须书写在任何其它修饰符之前。 注意:c++中比在c语言的基础上又增加了一个新的翻译 2007-03-12 11:13:00 · 699 阅读 · 0 评论 -
(3)'c++:COMPLETE REFERENCE' 第一部分 第一章(c语言概述) 第二节
c语言是一种中级语言 c语言常常被称为中级语言。并不是说c语言不够强大,也不是说它很容易掌握,更不是说它不如其他高级语言如Basic、Pascal那样先进。同时,c语言也不像汇编语言那样的繁琐。c语言之所以被认为是中级语言,主要是因为它把高级语言的优秀特性和汇编语言的控制力、灵活性结合在了一起。表1-1展示了c语言在所有编程语言光谱中的位置。表1-1:Cs Place in t翻译 2007-01-18 12:03:00 · 704 阅读 · 0 评论 -
(4)'c++:COMPLETE REFERENCE' 第一部分 第一章(c语言概述) 第三节
c语言是一种结构化的语言 可能读者以前就听说过,有一个计算机专用词汇叫做“block-structured”,也就是“块结构”。尽管块结构语言这个说法并不是很适合于c语言,但是c语言常常被简单的认定位块结构语言。的确,c语言与一些结构化的语言有很多相似之处,如ALGOL、Pascal和Modula-2。 注意:c语言之所以并不是严格技术意义上的块结构语言(c++也是如翻译 2007-01-19 10:32:00 · 753 阅读 · 0 评论 -
(8)'c++:COMPLETE REFERENCE' 第一部分 第一章(c语言概述) 第七节
分别编译 大部分短小的程序把所有的代码都保存在同一个源文件中。然而随着程序代码长度的增长,一个程序的编译时间也会增加。因此,c/c++允许一个程序的代码被分别保存在多个文件当中并且允许程序员对每一个文件分别独立编译。当每一个文件都被编译之后,再把它们和一些库函数例程连接以来形成完整的目标代码。分别编译的好处是当你改变某一个源文件中的源代码后,你只需要重新编译该文件,而不需要再对整个翻译 2007-03-08 17:31:00 · 658 阅读 · 0 评论 -
(9)'c++:COMPLETE REFERENCE' 第一部分 第二章(表达式) 第一节
本章将为读者讲解c语言和c++最基本的要素:表达式。你将会看到,相比其它的编程语言来说,表达式在c++中更强大更重要。表达式由更小的元素构成,即数据和操作符。数据可以由变量或者常量来代替。和其它大部分程序语言一样,c++支持多种不同的数据类型,同时还提供了自己的操作符集合。五种基本数据类型 c语言子集支持五种最基本的数据类型:character字符、integer整型、翻译 2007-03-09 10:46:00 · 574 阅读 · 0 评论 -
(15)'c++:COMPLETE REFERENCE' 第一部分 第二章(表达式) 第七、八节
变量初始化 可以在变量声明的时候直接赋值。格式如下: type variable_name = value; 例如: char ch = a; int first = 0; float babance = 123.23; 全局变量和静态本地变量的赋值仅仅会在程序启动的时候进行一次。局部变量(不含静态局部变翻译 2007-03-12 17:04:00 · 566 阅读 · 0 评论 -
(16)'c++:COMPLETE REFERENCE' 第一部分 第二章(表达式) 第九节操作符(1)
操作符(1) c++的内建操作符很多。相比其它语言,c++对操作符赋予了更加重要的意义。操作符主要分为四个大类别:算术操作符、关系操作符、逻辑操作符、位操作符。另外,还有一些执行特定任务的操作符。赋值操作符 可以在任何有效的语句中使用 = 赋值操作符。这和有些编程语言不同,如Pascal、BASIC、FOTRAN中将赋值操作符当作特别语句。赋值操作符使用的通常格式如翻译 2007-03-13 11:57:00 · 657 阅读 · 0 评论 -
(37)'c++:COMPLETE REFERENCE' 第一部分 第五章(指针) 第三节
指针操作符 指针操作符在第二章中曾经进行过讨论,这里我们将更进一步了解有关指针操作符的知识.首先我们来复习一下第二章的内容.有两个特定的指针操作符:*和&.操作符&是一种一元操作符,用来返回操作数的内存地址.例如:m = &count;在变量中存入了变量count的内存地址.这个地址是计算机的内部地址.对于count,上面的语句没有执行任何操作.可以把&看作返回"the ad翻译 2007-03-24 11:53:00 · 793 阅读 · 0 评论