【读书笔记】C++Primer---第二章
1.C++基本数据类型:字符型、整型、浮点型等;
2.算术类型如下表,下表只是表示C++要求的最小储存空间,但是一般编译器使用的都比所要求的储存空间大,以前类型所能表示的最大值也因机器的不同而有不同的最大值。
| 类型 | 含义 | 最小存储空间 |
| bool | 布尔型 | -- |
| char | 字符型 | 8位 |
| wchar_t | 宽字符型 | 16位 |
| short | 短整型 | 16位 |
| int | 整型 | 16位 |
| long | 长整型 | 32位 |
| float | 单精度浮点型 | 6位有效数字 |
| double | 双精度浮点型 | 10位有效数字 |
| long double | 扩展精度浮点型 | 10位有效数字 |
3.字符类型有两种,char和wchar_t,char一般是单个机器字节,wchar_t可以储存中文和日文等,不是单个字节;
4.默认的类型都是有符号的,如果需要表示无符号类型,必须指定该类型为unsigned,比如unsigned long,unsigned int,如果单是unsigned则表示unsigned int;
5.在C++中,将一个超过取值范围的值赋给一个类型,会对该类型最大值进行取模后赋值,如将-1赋给unsigned char,那么结果将是255,但是不能保证所有的编译器都是这个规则;
6.字面值整型默认就是int或者是long类型的,根据其大小默认为特定的一种类型,如符合int,该值就属于int类型,大于int的最大值,则属于long类型。通过增加后缀,能够强制将字面值整型常亮转换为long、unsigned或者unsigned long,如128u代表unsigned类型、1L代表long类型、1024UL代表unsigned long;
7.默认的小数字面值都是double类型的,在数值后面加上F或者f表示单精度,同样加上L或者l代表扩展精度类型;
8.如L'a'则表示为wchar_t类型的字面值;
9.为了兼容C语言,C++中所有的字符串字面值都由编译器自动在末尾添加一个空格符,L"hello world"代表以一个宽字符结尾的字面值;
10.C++的标识符不能包含两个连续的下划线,也不能以下划线开头后面紧跟一个大写字母,有些标识符也不能以下划线开头;
11.初始化是指创建变量并给它赋初始值,而赋值则是擦除对象的当前值并用新值替代,所以初始化不是赋值!;
12.extern仅仅只是声明,不是定义,变量必须且只能定义一次,而且在使用变量之前必须定义或者声明变量;
13.在const变量想被其他文件访问时,需要在声明的时候加上extern,非const变量则默认都是extern;
14.一个引用变量在定义的时候必须初始化;
15.typedef通常被用于三中目的:a.为了隐藏特定类型的实现,强调使用类型的目的;b.简化复杂的类型定义,使其更易理解;c.允许一种类型用于多个目的,同时使得每次使用该类型的目的明确;
16.枚举的格式:enum open_modes {input, output, append};
17.类的定义包括一个接口和实现;
18.如果使用class关键字来定义类,那么定义在第一个访问标号钱的任何成员都隐式指定为private,如果用struct,则为public,这就是struct和class之间的区别;
19.因为变量和函数在使用前都需要提前声明,所以C++支持分别编译,将函数和变量的声明放到头文件,而类的实现则放到cpp文件;
【读书笔记】C++Primer---第二章的更多相关文章
- Linux 读书笔记 三 (第二章)
一.学习目标 1. 理解二进制在计算机中的重要地位 2. 掌握布尔运算在C语言中的应用 3. 理解有符号整数.无符号整数.浮点数的表示 4. 理解补码的重要性 5. 能避免C语言中溢出,数据类型转 ...
- 《Android开发艺术探索》读书笔记 (3) 第3章 View的事件体系
本节和<Android群英传>中的第五章Scroll分析有关系,建议先阅读该章的总结 第3章 View的事件体系 3.1 View基本知识 (1)view的层次结构:ViewGroup也是 ...
- 《Linux内核设计与实现》读书笔记——第一、 二章
<Linux内核设计与实现>读书笔记--第一. 二章 标签(空格分隔): 20135321余佳源 第一章 Linux内核简介 1.Unix内核特点 十分简洁:仅提供几百个系统调用并且有明确 ...
- SQL Server2012 T-SQL基础教程--读书笔记(8 - 10章)
SQL Server2012 T-SQL基础教程--读书笔记(8 - 10章) 示例数据库:点我 CHAPTER 08 数据修改 8.1 插入数据 8.1.1 INSERT VALUES 语句 8.1 ...
- 《Android开发艺术探索》读书笔记 (13) 第13章 综合技术、第14章 JNI和NDK编程、第15章 Android性能优化
第13章 综合技术 13.1 使用CrashHandler来获取应用的Crash信息 (1)应用发生Crash在所难免,但是如何采集crash信息以供后续开发处理这类问题呢?利用Thread类的set ...
- C++PRIMER第二章前半部分答案
C++PRIMER第二章前半部分答案 哈哈哈,为什么是前半部分呢,后半部分还在学习中,重新系统性的学习c++,共同进步嘛,不多说,跟我一起来看看吧,第三章开始才是新手收割的时候,慢慢来~~ 2.1&a ...
- JS高程读书笔记-第一、二章-内附在线思维导图和quizlet卡片
之前在kindle上买了高程,今天又到了纸质的<JavaScript语言精粹>,<高性能JavaScript>,<JavaScipt设计模式>,开始读书之旅啦. 我 ...
- 《Android开发艺术探索》读书笔记 (9) 第9章 四大组件的工作过程
第9章 四大组件的工作过程 9.1 四大组件的运行状态 (1)四大组件中只有BroadcastReceiver既可以在AndroidManifest文件中注册,也可以在代码中注册,其他三个组件都必须在 ...
- 《Linux内核设计与实现》读书笔记 第一、二章
第一章 Linux内核简介 1.1Unix历史 Unix特点:1.很简洁 2.所有东西都被当成文件对待 3.Unix内核和相关的系统工具软件都是用C语言编写而成 4.进程创建非常迅速 所以Uni ...
- 《利用python进行数据分析》读书笔记 --第一、二章 准备与例子
http://www.cnblogs.com/batteryhp/p/4868348.html 第一章 准备工作 今天开始码这本书--<利用python进行数据分析>.R和python都得 ...
随机推荐
- UNIX网络编程——TCP 滑动窗口协议
什么是滑动窗口协议? 一图胜千言,看下面的图.简单解释下,发送和接受方都会维护一个数据帧的序列,这个序列被称作窗口.发送方的窗口大小由接受方确定,目的在于控制发送速度,以免接受方的缓存不够大, ...
- Dynamics CRM Microsoft SQL Server 指定的数据库具有更高的版本
在做NLB部署时遇到这么个问题,CRMAPP1安装的CRM版本是6.1已经打了SP1补丁,而在CRMAPP2上的CRM安装包是6.0版本,在选择连接现有部署后,最后一步检测就出了问题,如下图所示. 看 ...
- Java中引用传递
//Java中的引用传递 class Ref1{ int temp = 10 ; String Str = "hello"; } public class HelloWorld { ...
- android值得珍藏的6个开源框架技术
1.volley 项目地址 https://github.com/smanikandan14/Volley-demo JSON,图像等的异步下载: 网络请求的排序(scheduling) 网络请求的 ...
- 【翻译】在Ext JS 6通用应用程序中使用既共享又特定于视图的代码
原文:Using Both Shared and View-Specific Code in an Ext JS 6 Universal App 在本文,在展示如何编写Ext JS 6通用应用程序代码 ...
- TCP/IP入门(2) --网络层
/** 本篇博客由 126(127不可用) 2^24 -2 B 2^14 -1 128.1 191.255 2^16 -2 C 2^21 -1 192.0.1 223.255.255 2^8 -2 D ...
- Java:函数,类,数组之间的运用
在我的demoe类中,我实现了以下方法: 这个类在另外一个文件,demoe.java中 public class Demoe { //计算一个数字因子的个数 public static int get ...
- shell的case语句简述(shell的流控制)
shell流控制:http://www.cnblogs.com/yunjiaofeifei/archive/2012/06/12/2546208.html 1.if then else 语句 if t ...
- Oracle R12 多组织访问的控制 - MOAC(Multi-Org Access Control)
什么是MOAC MOAC(Multi-Org Access Control)为多组织访问控制,是Oracle EBS R12的重要新功能,它可以实现在一个Responsibility下对多个Opera ...
- Ajax核心--XMLHttpRequest对象
XMLHttpRequest 对象是AJAX功能的核心,学习XMLHttpRequest对象就先从创建XMLHttpRequest 对象开始,了解在不同的浏览器中创建XMLHttpRequest 对象 ...