[C++ Primer CH02]第2章 变量和基本类型(笔记)
2017-06-23 09:20
176 查看
小结:
类型是C++编程的基础。
类型规定了其对象的存储要求和所能执行的操作。C++语言提供了一套基础内置类型,如int和char等,这些类型与实现它们的机器硬件密切相关。类型分为非常量和常量,一个常量对象必须初始化,而且一旦初始化其值就不能再改变。此外,还可以定义复合类型,如指针和引用等。复合类型的定义以其他类型为基础。
C++语言语序用户以类的形式自定义类型。C++库通过类提供了一套高级抽象类型,如输入输出和string等。
笔记:
C++定义了一套包括算数类型(arithmetic type)和空类型(void)在内的基本数据类型。其中算数类型包含了字符、整型数、布尔值和浮点数。空类型不对应具体的值,仅用于一些特殊的场合,例如最常见的是,当函数不返回任何值时使用空类型作为返回类型。
避免无法预知和依赖于实现环境的行为。
当使用一个长整形字面值时,请使用大写字母L来标记,因为小写字母l和数组1太容易混淆了。
作为C++11新标准的一部分,用花括号来初始化变量得到了全面应用。
建议初始化每一个内置类型的变量。虽然并非必须这么做,但如果我们不能确保初始化程序安全,那么这么做不失为一种简单可靠的方法。
建议初始化所有指针。
面对一条比较复杂的指针或引用的声明语句时,从右向左阅读有助于弄清它的真实含义。
因为const对象一旦创建后其值就不能再改变,所以const对象必须初始化。
常量表达式(const expression)是指值不会改变并且在编译过程就能得到计算结果的表达式。C++11新标准规定,允许将变量声明为constexpr类型以便由编译器来验证变量的值是否是一个变量表达式。声明为constexpr的变量一定是一个常量,而且必须用常量表达式初始化。
C++11新标准引入了auto类型说明符,用它就能让编译器替我们去分析表达式所属的类型。
Q&A:
Q1:如何选择类型
A1:和C语言一样,C++的设计准则之一也是尽可能地接近硬件。
(1)当明确知晓数值不可能为负时,选用无符号类型。
(2)使用Int执行整数运算。
(3)在算数表达式中不要使用char或bool,只有在存放字符或布尔值时才使用它们。
(4)执行浮点数运算选用double。
Q2:下面2种引用和指针有什么区别
(1)const int ci = 1024;
const int &r1 = ci;
(2)int i = 42;
const int &r2 = i;(指针同理)
A2:和常量引用一样,指向常量的指针也没有规定规定其所指的对象必须是一个常量。所谓指向常量的指针仅仅要求不能通过该指针改变对象的值,而没有规定那个对象的值不能通过其他途径改变。
类型是C++编程的基础。
类型规定了其对象的存储要求和所能执行的操作。C++语言提供了一套基础内置类型,如int和char等,这些类型与实现它们的机器硬件密切相关。类型分为非常量和常量,一个常量对象必须初始化,而且一旦初始化其值就不能再改变。此外,还可以定义复合类型,如指针和引用等。复合类型的定义以其他类型为基础。
C++语言语序用户以类的形式自定义类型。C++库通过类提供了一套高级抽象类型,如输入输出和string等。
笔记:
C++定义了一套包括算数类型(arithmetic type)和空类型(void)在内的基本数据类型。其中算数类型包含了字符、整型数、布尔值和浮点数。空类型不对应具体的值,仅用于一些特殊的场合,例如最常见的是,当函数不返回任何值时使用空类型作为返回类型。
避免无法预知和依赖于实现环境的行为。
当使用一个长整形字面值时,请使用大写字母L来标记,因为小写字母l和数组1太容易混淆了。
作为C++11新标准的一部分,用花括号来初始化变量得到了全面应用。
建议初始化每一个内置类型的变量。虽然并非必须这么做,但如果我们不能确保初始化程序安全,那么这么做不失为一种简单可靠的方法。
建议初始化所有指针。
面对一条比较复杂的指针或引用的声明语句时,从右向左阅读有助于弄清它的真实含义。
因为const对象一旦创建后其值就不能再改变,所以const对象必须初始化。
常量表达式(const expression)是指值不会改变并且在编译过程就能得到计算结果的表达式。C++11新标准规定,允许将变量声明为constexpr类型以便由编译器来验证变量的值是否是一个变量表达式。声明为constexpr的变量一定是一个常量,而且必须用常量表达式初始化。
C++11新标准引入了auto类型说明符,用它就能让编译器替我们去分析表达式所属的类型。
Q&A:
Q1:如何选择类型
A1:和C语言一样,C++的设计准则之一也是尽可能地接近硬件。
(1)当明确知晓数值不可能为负时,选用无符号类型。
(2)使用Int执行整数运算。
(3)在算数表达式中不要使用char或bool,只有在存放字符或布尔值时才使用它们。
(4)执行浮点数运算选用double。
Q2:下面2种引用和指针有什么区别
(1)const int ci = 1024;
const int &r1 = ci;
(2)int i = 42;
const int &r2 = i;(指针同理)
A2:和常量引用一样,指向常量的指针也没有规定规定其所指的对象必须是一个常量。所谓指向常量的指针仅仅要求不能通过该指针改变对象的值,而没有规定那个对象的值不能通过其他途径改变。
相关文章推荐
- 【C++ Primer学习笔记】第2章:变量和基本类型
- 《c++primer》笔记 第2章 变量和基本类型
- 《C++ Primer(第5版)》学习笔记:第2章 变量和基本类型
- 【C++ Primer学习笔记】第2章:变量和基本类型
- 【C++ Primer学习笔记】第2章 变量和基本类型
- 《C++ Primer》学习笔记---第2章 变量和基本类型
- 【C++ Primer学习笔记】第2章:变量和基本类型
- [笔记][Java 4 Android][001~006] Java4android 环境配置、变量、基本数据类型
- Javascript学习笔记一基本数据类型与变量声明
- C++ Primer 第二章 变量和基本类型 笔记
- 第2章:变量和基本类型
- Python笔记——基本语法:标识符、数据类型、变量、运算符及表达式/编码风格
- C++Primer学习:第2章 变量和基本类型
- 第2章 变量和基本类型
- C语言程序设计教程笔记_基本数据类型、常量、变量和表达式
- 第2章 变量和基本类型
- 复习小记----第2章 变量和基本类型
- C++ Primer 第二章 变量和基本类型 笔记
- C++学习笔记(二)——变量和基本类型
- C++ Peimer 第2章-变量和基本类型习题答案