C++Primer阅读笔记
文章平均质量分 63
xxjoy_777
这个作者很懒,什么都没留下…
展开
-
第三章:const修饰符
1.一个常量一旦被定义了,我们就不能改变它。比如 const double pi=3.14.那么接下来任何试图改变pi的语句都将被视为违法的。2.那么这样的操作可以吗?把一个常量的地址赋给一个指针呢?如: const double minWage=9.60; double *ptr+=1.40; 不行。这又是违法的。任何一个试图将一个非const对象的指针指原创 2012-11-28 20:56:45 · 234 阅读 · 0 评论 -
第五章 一个单向链表实例
本章以一个单向链表来结尾链表是一个数据项序列,每个数据项都包含了一个某种类型的值和链表下一项的地址,地址可以为空,链表也可以为空。即链表中可以没有数据项。链表不可能为满,但是当程序的空闲存储区被耗尽时,试图创建一个新的链表项会失败。2.链表类必须支持的操作有什么呢?用户必须能能够插入(insert)或者删除(remove),以及查找(find)一个项。用户必须能够查找链表的长度原创 2012-12-11 19:43:48 · 267 阅读 · 0 评论 -
第三章 字符串类型
1。C++提供了两种字符串的表示:c风格的字符串和标准C++引入的string。一般我们建议使用string类,但实际上在许多程序的情形中,我们有必要理解和使用老式的C风格字符串。2.C风格字符串起源于C语言,并在C++中继续得到支持。字符串被存储在一个字符数组中,一般通过一个char*类型的指针来操作它。标准C库为操纵C风格的字符串提供了一组函数。例如:int strlen(const原创 2012-11-24 21:27:34 · 300 阅读 · 0 评论 -
C++primer第三章——C++数据类型
1.字(word),字节(byte),位(bit).1word=4byte=32bit.这是针对32位操作系统来说的,对于64位则1word=64bit.这有赖于机器(计算机)。当然还有8位机,16位机。分别表示一个字=一个字节,一个字=两个字节的机器。注意,64位机可以安装32位操作系统,而32位机则不能安装64位操作系统。2.基础知识a.字符型char,表示单个字符和小整数,占位一个机原创 2012-11-24 19:34:53 · 245 阅读 · 0 评论 -
第五章 语句
1.项目中declaration的一些规则 避免使用global declaration,并适当地使用namespace 把所有的declaration置于块一开始的地方,以便能轻易看见所有被定义以及被使用的objects; 当declarations涉及许多修饰词时,每一个应占用独立的一行,以免产生“酒精是哪个object被修饰”的困惑,或者使用下划线也是个好 办法原创 2012-12-08 00:37:29 · 208 阅读 · 0 评论 -
第四章 表达式
1.一般情况下,表达式由一个或多个操作数以及作用在这些操作数上的操作符所构成。很好理解,比如a+b,a和b是操作数,+是操作符。2.作用在一个操作数上的操作符被称为一元操作符,比如取地址操作符(&)和解引用操作符(*)。作用在两个操作数以上的操作符,如假发,减法等操作符被称为二元操作符。3.注意:/为相除操作不取余数。1/3=0;2/3=0;3/3=1;4/3=1;5/3=1;6/3=2;原创 2012-12-03 18:30:46 · 497 阅读 · 0 评论 -
第三章:指针类型
1.指针持有一个对象的地址,使我们能够间接地操作这个对象。2.指针的典型用法是构建一个链接的数据结构,例如树(tree)和链表(list),并管理在程序执行过程中动态分配的对象,以及作为函数的参数类型,主要用来传递数组或者大型的类对象。3.每个指针都有一个相关的类型。不容数据类型的指针之间的区别不是在指针的表示上,也不是子啊指针所持有的值(地址)上,因为对所有类型的指针这两方面都是相同的。原创 2012-11-24 00:28:28 · 267 阅读 · 0 评论 -
第二课:C++纵览
1.C++内置类型:int ,float,double,char,boolean等 标准库类型:vector,string,list.complex number等 介于上述二者之间的复合类型(compound type):数组和指针2.数组不能直接赋值:比如 int a[10],int b[10]. a=b.是错误的。3.静态内存分配和动态分配。静态分配:即编译器在处理程原创 2012-11-21 22:27:43 · 258 阅读 · 0 评论 -
C++Primer第二章课后习题,一个较为完整的类
题目一:C++ 类的一个关键性质是:“接口”与“实现”的分离。所谓接口是一组操作行为,用户可以将它施行于此类所派生的任何对象身上。它由三个部分组成:操作名称,返回值,参数列表。一般而言,类的用户只需要知道这些就够了。而私底下的实现内容(方法的具体代码),由算法和数据构成。观念上,虽然类的接口可以成长,却不可以改头换面变得与过去版本不兼容。置于死地下的实现内容,则可以自由演化。现在,请选择以下一个抽原创 2012-11-22 13:27:42 · 270 阅读 · 0 评论 -
开始
今天开始阅读Stanley Lippman的C++Primer,是潘爱民 张丽 翻译的。第一读:开始1.C++除了一些简单的数据类型,比如int,char, boolen, double等,还有一些较为复杂的数据类型,比如string,vector,complex number,以及list(列表)。要使用string,必须#include,要使用vector,必须#include。2原创 2012-11-21 19:25:57 · 251 阅读 · 0 评论 -
第三章 typedef
1.只需要记住它是一个助记符,例如typedef vector vec_int.则给vector类型提供了一种助记符vec_int.2.于是,vector vec1就等价于 vec_int vec1;3.下面是一个几乎所有人刚开始时都会答错的问题,错误在于将typedef当做宏扩展。typedef char* cstring;extern const cstring cstr;原创 2012-12-01 21:04:56 · 393 阅读 · 0 评论 -
第三章 数组类型
前面的学习进度太慢了,应该加快学习进度,否则这个月无法完成相应的学习了。1.数组是单一数据类型对象的集合。我们通过索引访问(indexing)或者说下标访问(subscripting)来访问这个单一对象。2.维数值必须是常量表达式——也就是说,必须在编译时刻能计算出它的值。这意味着非const变量不能被用来指定数组的维数。如extern int get_size();//这是一个函数,原创 2012-12-01 19:45:11 · 230 阅读 · 0 评论 -
第三章 vector
1.vector类(注意,它是一个类了)为内置数组提供了一种替代表示,与string类一样,vector类是标准C++引入的标准库的一部分。2.为了使用vector,我们需要引入相关头文件:#include3.使用vector有两种不同的形式,即所谓的数组习惯和STL习惯。在数组习惯用法中,我们模仿内置数组的用法’定义一个已知长度的vector:如:vector ivec(10);//原创 2012-12-01 20:35:47 · 998 阅读 · 0 评论 -
第三章 类类型
1.类机制支持新类型的设计,其实,在面向对象的思想里,任何事物都是对象。包括一种类型,比如int型,也是一种对象。所以,我们应该把类和int型这样的类型辩证联系的看待。2.本节以String类(注意,是大写的,标准库是string)为例(这个类是我们自己写的),介绍它的抽象的设计与实现。实现将着重说明C++对操作符重载(运算符重载)的支持。3.String类需要完成的任务,或者说它需要具有原创 2012-12-02 21:42:52 · 189 阅读 · 0 评论 -
第六章 抽象容器类型
1.顺序容器(sequence container)拥有由单一类型元素组成的一个有序集合。两个主要的顺序容器是list和vector。还有一个顺序容器为双队列deque,发音为“deck",它提供了与vector相同的行为,但是对于首元素的有效插入和删除提供了特殊的支持。在实现对咧时,deque比vector更加适合。2.关联容器(associative)支持查询一个元素是否存在,并且可有有效原创 2012-12-13 21:29:34 · 391 阅读 · 0 评论