第3章 处理数据

1. C++对于变量名称的长度没有限制,ANSI C只保证名称中的前63个字符有意义(前63个字符相同的名称被认为是相同的,即使第64个字符不同)。

2. 对类型名(int)使用sizeof运算符时,应将名称放在括号中,但对变量名(n_short)使用该运算符时,括号是可选的。

3. int owls = 101; //传统的C语言初始化方式

int wrens(432); //C++增加的初始化方式

4. 与int类型不同的是,char在默认情况下既不是没有符号,也不是有符号。是否有符号由C++实现决定。如果char有某种特定的行为对您来说很重要,则可以显示地将类型设置为signed char 或 unsigned char。

5. 在进行国际编程或使用Unicode或ISO10646时,程序需要处理的字符集可能无法用一个8位的字节char表示,可以使用wchar_t。wchar_t是一种整型,具体类型取决于实现,有可能是unsigned short 或 int等。

Cin和cout将输入和输出看作是char流,因此不适于用来处理wchar_t类型。iostream头文件提供了类似的工具wcin和wcout,用于处理wchar_t流。另外,可以通过加上前缀L来指示宽字符常量和宽字符字符串。

wchar_t bob = L'P';

wcout << L"tall" << endl;

6. 在进行字符串编码时,如果有特定长度和符号特征的类型,将会很有帮助,而类型wchar_t的长度和符号随实现而异。因此C++11增加了类型char16_t和char32_t,两者都是无符号的,前者长16位,后者长32位。C++使用前缀u表示char16_t字符常量和字符串常量,并使用前缀U表示char32_t常量。

7. const比#define好的原因:首先,他能够明确指定类型。其次,可以使用C++的作用域规则将定义限制在特定的函数或文件中。第三,可以将const用于更复杂的类型,如数组和结构。ANSI C的const限定符是从C++借鉴来的。

8. C++的浮点表示法有两种:第一种直接使用标准的小数点,第二种使用E表示法。既可以使用E也可以使用e,指数可以是正数也可以是负数。数字中不能有空格,因此7.2 E6非法。

9. 浮点常量

默认情况下,浮点常量为double类型,如果希望常量为float类型,请使用F或f后缀。对于long double类型,可使用l或L后缀。

1.234f    //float常量

2.45E20F  //float常量

2.3453E28 //double常量

2.2L      //long double常量

10. (typename) value //c语言强制类型转换

typename (value) //C++强制类型转换,使强制类型就像是函数调用,这样对内置类型的强制类型转换就像是为用户定义的类设计的类型转换。

11. C++11新增加了一个工具,auto让编译器能够根据初始值的类型推断变量的类型。

std::vector<double> scores;

std::vector<double>::iterator pv = scores.begin();

C++11允许这样写:

std::vector<double> scores;

auto pv = scores.begin();

C++ primer plus读书笔记——第3章 处理数据的更多相关文章

  1. C primer plus 读书笔记第十一章

    本章标题是字符串和字符串函数.主要是了解和字符串有关的函数. 1.字符串表示和字符串I/O 主要内容:字符串常量和字符串数组的初始化,对比了指针和字符串. 其中要注意的是,数组初始化是从静态存储区把一 ...

  2. C primer plus 读书笔记第六章和第七章

    这两章的标题是C控制语句:循环以及C控制语句:分支和跳转.之所以一起讲,是因为这两章内容都是讲控制语句. 第六章的第一段示例代码 /* summing.c --对用户输入的整数求和 */ #inclu ...

  3. C primer plus 读书笔记第五章

    本章的标题是运算符,表达式和语句.主要研究如何处理数据. 示例代码展示了一个使用简单的while循环的代码,难度不大. 下面简单介绍本章的基本概念. 1.基本运算符. 基本运算符有:赋值运算符(C语言 ...

  4. C primer plus 读书笔记第四章

    本章的标题是字符串的格式化输入/输出,重点介绍输入和输出. 本章的第一段示例代码和上一张示例代码很相近,代码就不贴了,新出现的特性是使用了一个数组来存放字符串,C预处理命令和strlen()函数. 下 ...

  5. C primer plus 读书笔记第三章

    本章的标题是数据和C,主要内容是介绍数据类型中的整数类型和浮点数类型. 本章的第一段代码 #include <stdio.h> int main(void) { float weight; ...

  6. C++ primer plus读书笔记——第17章 输入、输出和文件

    第17章 输入.输出和文件 1. 对键盘进行输入缓冲可以让用户在将输入传输给程序之前返回并更正.C++程序通常在用户按下回车键时刷新输入缓冲区. 2. 一些I/O类 streambuf类为缓冲区提供了 ...

  7. C++ primer plus读书笔记——第16章 string类和标准模板库

    第16章 string类和标准模板库 1. string容易被忽略的构造函数: string(size_type n, char c)长度为n,每个字母都为c string(const string ...

  8. C++ primer plus读书笔记——第15章 友元、异常和其他

    第15章 友元.异常和其他 1. 友元类的所有方法都可以访问原有类的私有成员和保护成员.另外,也可以做更严格的限制,只将特定的成员函数指定为另一个类的友元.哪些函数.成员函数.或类为友元是由类定义的, ...

  9. C++ primer plus读书笔记——第14章 C++中的代码重用

    第14章 C++中的代码重用 1. 使用公有继承时,类可以继承接口,可能还有实现(基类的纯虚函数提供接口,但不提供实现).获得接口是is-a关系的组成部分.而使用组合,类可以获得实现,但不能获得接口. ...

随机推荐

  1. [系统重装日志1]快速迁移/恢复Mendeley的文献和笔记

    一时手贱把原先系统的EFI分区给删了,按照网上的教程还没有恢复成功,无奈之下只能重装系统,想想这么多环境和配置真是酸爽. 身为一个伪科研工作者,首先想到的是自己的文献和阅读笔记.我所使用的文献管理工具 ...

  2. Android Studio 之 RadioButton

    •任务 如何通过 RadioButton 实现如图所示的界面? •基本用法 RadioButton 单选按钮,就是只能够选中一个,所以我们需要把 RadioButton 放到 RadioGroup 按 ...

  3. DAOS 分布式异步对象存储|数据平面

    DAOS 通过两个紧密集成的平面进行运转.数据平面处理繁重的运输操作,而控制平面负责进程编排和存储管理,简化数据平面的操作. 模块接口 I/O 引擎支持一个模块接口,该接口允许按需加载服务器端代码.每 ...

  4. UnitOneSummary

    目录 一.程序结构分析 第一次作业 第二次作业 第三次作业 二.Test & Bugs 三.设计模式 四.总结与反思 一.程序结构分析 第一次作业 思路: 1.输入预处理: 去除空格和\t 替 ...

  5. 火爆外网的 DGS 框架使用

    Netflix 已开放其 Domain Graph Service(DGS)框架的源代码 ,该框架是为了方便整合 GraphQL 使用,用于简化 GraphQL 的实现. GraphQL 主要是作用于 ...

  6. Linux 基础命令 命令进阶

    Linux命令格式:命令 选项 参数 (大部分命令是这个格式) 注意: 1.命令区分大小写 2.短选项可以合并   长选项不能合并 如 : 短选项 -l  -h 可以合并为 -lh 长选项  不能合并 ...

  7. 如何查看显著性SNP在数据中的频率?

    我们做完GWAS的关联分析后需要查看显著性SNP在我们数据中的频率分布情况.这时候我们需要用到plink和我们做关系分析所用的二进制文件datas. 第一步,我们用R语言读取分析结果,即*.assoc ...

  8. Day09_43_Set集合_HashSet_02(HashCode方法 与 equals方法 )

    HashSet - 向Hash表中添加元素的过程? 1. 先调用将要被存储的值key的HashCode方法得出Hash值,如果该Hash值在现有Hash表中不存在,那么直接加入元素. 2. 如果该Ha ...

  9. 全图文分析:如何利用Google的protobuf,来思考、设计、实现自己的RPC框架

    目录 一.前言 二.RPC 基础概念 1. RPC 是什么? 2. 需要解决什么问题? 3. 有哪些开源实现? 三.protobuf 基本使用 1. 基本知识 2. 使用步骤 四.libevent 1 ...

  10. JavaScript课程——Day07(对象简介、Math对象、时间对象、字符串对象)

    1.对象简介 在javaScipt中,一切皆为对象或者皆可以被用作对象 宿主对象:window,document 内置对象:Number  String  Boolean  Array数组  Obje ...