[C++ Primer CH02]第2章 变量和基本类型(笔记)
来源:互联网 发布:必备淘宝营销教程 编辑:程序博客网 时间:2024/06/09 22:38
小结:
类型是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 CH02]第2章 变量和基本类型(笔记)
- 《c++primer》笔记 第2章 变量和基本类型
- C++Primer学习:第2章 变量和基本类型
- [C++Primer]第2章.变量和基本类型
- C++ Primer笔记 第2章 变量和基本类型
- C++Primer第二章(变量和基本类型)笔记
- 《C++ Primer(第5版)》学习笔记:第2章 变量和基本类型
- C++Primer笔记--变量和基本类型
- C++Primer第五版 第2章 变量和基本类型(练习解答)
- C++Primer笔记 第二章 变量和基本类型
- c++primer 学习笔记(2.0)变量和基本类型
- 【C++ Primer】摘记--第2章 变量和基本类型
- 【C++ Primer】第2章 变量和基本类型
- 【c++ primer读书笔记】【第2章】变量和基本类型
- C++ Primer 第2章 变量和基本类型
- c++ primer 第2章 变量和基本类型
- 《C++ Primer》第2章:变量和基本类型
- c++ primer 5 第2章 变量和基本类型
- 单点登录
- Linux进程间通信---管道篇
- Android Studio混淆模板及常用第三方混淆
- 1.1—Java这么流行,知道为什么嘛?!
- 安卓头像更换,调用系统相机,或从相册修改头像
- [C++ Primer CH02]第2章 变量和基本类型(笔记)
- 解决 Unsupported major.minor version 52 Failed to load the JNI shared
- having可以在没有group by 的情况使用吗
- eatmenmory android下运行的linux程序,模拟低内存环境
- 用Python做数据分析初探(一)
- jdk1.6 & jdk1.7共存
- 解决myeclipse编译大量js时候,缓慢的问题
- tcp三次握手复习
- return无返回值用法