C++ Primer 学习笔记_4_变量和基本类型(续1)
来源:互联网 发布:mac 不能更新10.11.6 编辑:程序博客网 时间:2024/05/18 13:10
变量和基本类型
四、const限定符
- #include <iostream>
- int main()
- {
- //for循环语句存在两个问题
- for (int index = 0;index != 512; ++index)
- {
- //...
- }
- return 0;
- }
- /*
- *1、程序的可读性:存在魔数512[魔数:他的意义在上下文中并没有体现出来,好像这个数是魔术般变出来的]
- *2、程序的可维护性...
- */
1、定义const对象
- //bufSize此时是一个左值,但是现在这个左值不可修改!
- const int bufSize = 512;
因为常量在定义之后就不能修改,所以定义时就必须初始化!
2、const对象默认为文件的局部变量
除非特殊说明,在全局作用域中声明的const变量是定义该对象的文件的局部变量,此变量只存在于那个文件中,不能被其他文件访问!
如若想被其他文件访问,需要在const前加extern关键字!
- //file_1.cc
- extern const int bufSize = 512;
- //file_2.cc
- extern const int bufSize;
- for (int index = 0;index != bufSize; ++index)
- {
- //...
- }
【说明:】非const对象默认为extern。而const对象默认为非extern,要使const变量能够在其他的文件中访问,必须显式指定它为extern。
P50
- //习题2.23(b)下列语句是否正确
- int cnt = 0;
- const int sz = cnt;
五、引用
引用的主要作用是用作函数的形式参数。
1、下列语句是否正确
- int ival = 1024; //正确
- int &refVal_1 = ival; //正确
- int &refVal_2 = refVal_1; //正确
- int &refVal_3; //错误
2、当引用初始化之后,主要该引用存在,他就保持绑定到初始化时的对象,不能将引用绑定到另外一个对象!
初始化是指定引用指向哪个对象的唯一方法!
3、const引用[指向const对象的引用]
- /*
- *仅仅允许const应用绑定到需要临时变量作为媒介来完成完全绑定过程的值
- *因为const引用是只读的,即:
- *非const引用只能绑定到与该引用相同类型的对象,
- *const引用则可以绑定到不同但相关的类型的对象或绑定到右值。
- *理解下面程序:
- */
- int ival = 1024;
- const int &refVal_1 = 1024;
- const int &refVal_2 = ival;
- // int &refVal_3 = refVal_2;
- int i = 42;
- const int &r = 42;
- const int &r2 = r + i;
- double dval = 3.14;
- const int &refDval = dval; //如果int前的const去掉对不对呢?
P52
- //习题2.25,判断下列程序的输出结果
- #include <iostream>
- int main()
- {
- int ival = 2.01;
- int &rval2 = ival;
- const int &rval3 = 1;
- rval2 = rval3;
- ++ rval2;
- std::cout << rval3 << std::endl;
- return 0;
- }
六、typedef
typedef用开定义类型的同义词
- typedef double wages;
- typedef wages salary;
- //typedef定义以关键字typedef开始,后面是数据类型和标识符,标识符或类型名并没有引入新的类型,而至是现有的数据类型的同义词。
typedef通常被用于以下三种目的:
1、为了隐藏特定类型的实现,强调使用类型的目的
2、简化复杂的类型定义,使其更易理解
3、允许一种类型用于多个目的,同时使得,每次使用该类型的目的明确
0 0
- C++ Primer 学习笔记_4_变量和基本类型(续1)
- c++primer学习笔记1 - 变量和基本类型
- c++primer 学习笔记(2.0)变量和基本类型
- 《C++Primer 5e》学习笔记(1):变量和基本类型
- C++Primer学习笔记之变量和基本类型
- C++Primer笔记--变量和基本类型
- C++Primer第二章(变量和基本类型)笔记
- C++primer 学习(二)变量和基本类型
- C++primer学习笔记(一):第二章.变量和基本类型
- 《C++ Primer第四版》学习笔记(三)变量和基本类型 之 基本内置类型
- C++ Primer 学习笔记_5_变量和基本类型(续2)
- C++Primer笔记 第二章 变量和基本类型
- 《c++primer》笔记 第2章 变量和基本类型
- C++ Primer 学习笔记4 变量和基本类型 (变量初始化规则、声明和定义)
- C++Primer学习笔记第二章(2/18) 变量和基本类型
- c++Primer学习笔记之五:变量和基本类型_1
- c++Primer学习笔记之六:变量和基本类型_2
- C++Primer学习:第2章 变量和基本类型
- [学习记录]NSString与int和float的相互转换
- 如何在mac os中安装gdb及为gdb进行代码签名
- Android 装置CTS与GMS认证差异
- Hadoop自带字数统计程序wordcount异常
- 一个四十岁的人给你提个醒
- C++ Primer 学习笔记_4_变量和基本类型(续1)
- 七牛base64上传(前端js,后端c#)
- Swift中常用标准库函数的使用
- StringUtils方法全集
- Hadoop中运行Wordcount出现异常
- 工作感悟第一篇(爱的蜕变)
- php开启报错
- photoshop小技巧积累
- oracle错误(三) ORA-00972 identifier is too long 的解决办法