您的位置:首页 > 编程语言 > C语言/C++

[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:和常量引用一样,指向常量的指针也没有规定规定其所指的对象必须是一个常量。所谓指向常量的指针仅仅要求不能通过该指针改变对象的值,而没有规定那个对象的值不能通过其他途径改变。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: