【读书笔记】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都得 ...
随机推荐
- iOS中 UIMPMediaPickerController播放系统音乐
布局如下: 引入框架: #import <AVFoundation/AVFoundation.h> #import <MediaPlayer/MediaPlayer.h> 遵循 ...
- TCP/IP入门(4) --应用层
/** 本篇博客由汗青ZJF整理并发布, 转载请注明出处: http://blog.csdn.net/zjf280441589/article/category/1854365 */ TCP/IP中的 ...
- 面试常用算法总结——排序算法(java版)
排序算法 重要性不言而喻,很多算法问题往往选择一个好的排序算法往往问题可以迎刃而解 1.冒泡算法 冒泡排序(Bubble Sort)也是一种简单直观的排序算法.它重复地走访过要排序的数列,一次比较两个 ...
- android:background="@color/white" [create file color.xml at res/values/]
<resources><color name="white">#FFFFFF</color><!--白色 --><col ...
- C++对象模型(四):class成员初始化列表(Member Initialization List)
本文是Inside C++ Object Model Chapter 2 部分的读书笔记. 编译器如何处理初始化成员列表的. 下列情况中,必须要使用member initialization list ...
- adformsctl.sh 与 adformsrvctl.sh, 10.1.2 及10.1.3
参考 http://blog.csdn.net/cai_xingyun/article/details/40393885 , adformsctl.sh 是开启forms oc4j , 根据之后的 ...
- css3的样式讲解-css学习之旅(3)
css背景 属性:background-color:background-image:url("位置"):background-position:right等,px,百分数:bac ...
- Mac下ImageMagick安装(libpng)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/42562705 ...
- CUDA学习,查看device性能参数
#include "../common/book.h" #include< stdio.h> #include "cuda_runtime.h" # ...
- Android通过编译源代码提供系统服务-android学习之旅(85)
通过编译android4.1.2的源代码,添加一个FregServer的系统服务,以及一个服务代理FregClient 具体分为三部分,client,common,server,common中规定了c ...