码迷,mamicode.com
首页 > 编程语言 > 详细

C++Primer(第5版)中文版读书笔记

时间:2015-06-16 22:45:11      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:

1.运行时类型识别(run-time type identification,RTTI)的功能由两个运算符实现:

(1)typeid运算符,用于返回表达式的类型。

(2)dynamic_cast 运算符,用于将基类的指针或引用安全地转换成派生类的指针或引用。

2.输出补白:标准库提供了一些操作符帮助我们完成所需的控制:

(1)setw指定下一个数字或字符串值得最小空间。

(2)left表示左对齐输出。

(3)right表示右对齐输出,右对齐是默认格式。

(4)internal控制负数的符号的位置,它左对齐符号,右对齐值,用空格填满所有中间空间。

(5)setfill允许指定一个字符代替默认的空格来补白输出。

3.为了确定最佳匹配,编译器将实参类型到形参类型的转换划分成几个等级,具体排序如下所示:

(1)精确匹配,包括以下情况:

(I)实参类型和形参类型相同。

(II)实参从数组类型或函数类型转换成对应的指针类型。

(III)向实参添加顶层const或者从实参中删除顶层const。

(2)通过const转换实现的匹配

(3)通过类型提升实现的匹配

(4)通过算术类型转换或指针转换实现的匹配。

(5)通过类类型转换实现的匹配。

4.类的基本思想是数据抽象(data abstraction)和封装(encapsulation)。

数据抽象是一种依赖于接口(interface)和实现(implementation)分离的编程(以及设计)技术。类的接口包括用户所能执行的操作;类的实现则包括类的数据成员、负责接口实现的函数体以及定义类所需的各种私有函数。

封装实现了类的接口和实现的分离。封装后的类隐藏了它的实现细节,也就是说,类的用户只能使用接口而无法访问实现部分。

类要实现数据抽象和封装,需要首先定义一个抽象数据类型(abstract data type)。

5.在C++语言中,我们使用访问说明符(access specifiers)加强类的封装性:

(1)定义在public 说明符之后的成员在整个程序内可被访问,public 成员定义类的接口。

(2)定义在private说明符之后的成员可以被类的成员函数访问,但是不能被使用该类的代码访问,private部分封装了(即隐藏了)类的实现细节。

6.在cctype头文件中定义了一组标准库函数:

(1)isalnum(c) 当c是字母或数字时为真

(2)isalpha(c) 当c是字母时为真

(3)iscntrl(c) 当c是控制字符时为真

(4)isdigit(c) 当c是数字时为真

(5)isgraph(c) 当c不是空格但可打印时为真

(6)islower(c) 当c是小写字母时为真

(7)isprint(c)当c是可打印字符时为真(即c是空格或c具有可视形式)

(8)ispunct(c) 当c是标点符号时为真(即c不是控制字符、数字、字母、可打印空白中的一种)

(9)isspace(c) 当c 是空白时为真(即c是空格、横向制表符、纵向制表符、回车键、换行符、进纸符中的一种)

(10)isupper(c) 当c是大写字母时为真

(11)isxdigit(c) 当c是十六进制数字时为真

(12)tolower(c) 如果c是大写字母,输出对应的小写字母;否则原样输出c

(13)toupper(c) 如果c是小写字母,输出对应的大写字母,否则原样输出c

C++Primer(第5版)中文版读书笔记

标签:

原文地址:http://www.cnblogs.com/heisaijuzhen/p/4581844.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!