C++ primer的第二章的主要内容
这第二章主要是介绍了C++中基本的内置数据类型:整型与浮点型。介绍了什么是变量的过程中了解到了左值与右值的概念。左值是可以出现在赋值语句的左边或者右边,也就是说可以放在等号的左右两边,而右值只能是出现在赋值语句的右边,不能在赋值语句的左边,也就是只能出现在等号的右边。
声明和定义这一节中要记住变量的定义只有一次,而声明的次数可以有很多次,并且它是以关键字extern来声明的。如extern int i;这就是声明一个int变量i;也有一种情况声明就是定义,那就是在声明的时候初始化了。如:extern double pi=3.1416;这就是表示声明并且定义了double型变量pi,后面就不允许在定义这样的变量pi了。还有一个习惯就是在使用变量的位置处定义相应的变量,这样以便提高程序的可读性。
在这一种当中,我不怎么会使用的是const限定符。const对象的意思是说这个把这个对象转化成相应的常量。如:const int bufsize=512;定义bufsize为一个常量并且初始化为512。但是变量bufsize仍然是一个左值,但是这个左值是不能修改的左值。还讲到如要在文件之间传递const类型的数据的时候,由于其实默认为文件局部变量,所以要在其前面加extern关键字来声明它是全局的。
最后就是引用了,引用是一种复合类型,通过在变量前加&符号来定义。所谓复合类型就是用其他的类型定义的类型,也就是说引用其他类型的变量类型。如:int val=1024;int &reval=val;表示reval引用val。然后通过对*reval解引用就可以得到val的值了。就我个人的理解引用就是将另外一个变量地址来存储被引用的变量。反过来讲就是reval引用val的地址。这样子在函数的调用的时候,参数的传递会用到引用。如在函数的调用的时候想要概念实参的话就要用引用来引用实参来改变实参的数据。
C++ primer的第二章的主要内容的更多相关文章
- 逆向基础 C++ Primer Plus 第二章 开始学习C++
C++ Primer Plus 第二章 开始学习C++ 知识点梳理 本章从一个简单的C++例子出发,主要介绍了创建C++程序的步骤,以及其所包含的预处理器编译指令.函数头.编译指令.函数体.注释等组成 ...
- C++ Primer 笔记 第二章
C++ Primer 第二章 变量和基本类型 2.1基本内置类型 有算数类型和void类型:算数类型储存空间大小依及其而定. 算数类型表: 类型 含义 最小储存空间 bool 布尔型 - char 字 ...
- 【C++】《C++ Primer 》第二章
第二章 变量和基本类型 指针和引用的不同点 引用不是一个对象,它没有实际地址,但是指针是一个对象.允许对指针赋值和拷贝,而且在指针的生命周期内它可以先后指向几个不同的对象. 指针无须在定义时赋初值.
- C++ primer的第一章的主要内容
第一章主要是把C++的主要的部分简单的介绍了一下,让读者对C++开始有一个简单的了解.看完第一章的收获就是知道如何去读入不确定数目的输入,主要是形式是:whlie(cin>>s){},利用 ...
- c++ primer plus 第二章 \n与endl在输出上的区别
在书上看到如下一段话: 一个差别是,endl确保程序继续运行前刷新输出(将其立即显示在屏幕上):而使用"\n"不能提供这样的保证,这意味着在有些系统中,有时可能在您 ...
- C Primer Plus_第二章_C语言概述_复习题与编程练习
REVIEW 1.如何称呼C程序的基本模块? ans 它们被称为函数 2.什么是语法错误?给出一个英语例子和一个C语言例子 me C的语法错误是指把正确的C符号放在了错误的位置 likes codin ...
- c++ primer plus 第二章 课后题答案
#include<iostream> using namespace std; int main() { cout << "My name is Jiantong C ...
- 《JS权威指南学习总结--第二章词法结构》
第二章词法结构 内容要点: 一.注释 1. //表示单行注释 2. /*这里是一段注释*/ 3.一般编辑器里加注释是:选中要加注释的语句,按 ctrl+/ 二.直接量 所谓直接量,就是程序中直接使用的 ...
- 《C++ Primer》读书笔记—第二章 变量和基本类型
声明: 文中内容收集整理自<C++ Primer 中文版 (第5版)>,版权归原书所有. 学习一门程序设计语言最好的方法就是练习编程. 1.8比特的char类型计算机表示的实际范围是-12 ...
随机推荐
- drush cc all 报错
请看好 指明了Module文件的行数 报错一定要多看看哦.
- Fragment 笔记
1.getActivity() 为null问题 在Fragment基类里设置一个Activity mActivity的全局变量,在onAttach(Activity activity)里赋值,使用m ...
- centos7 安装mariaDB 以及 phpmyadmin的安装
centos7 安装mariaDB 以及 phpmyadmin的安装 一:安装mariadb, mariadb 是 mysql 的一个分支,基本和mysql一样的 1. yum -y install ...
- LocalStorage在Chrome里的实现
前段时间我们在实现CanTK-Runtime时,也曾在V8基础上模拟过浏览器的LocaleStorage功能,其实现非常简单:每个domain的数据使用的单独文件存储,因为同一时间只有一个游戏运行,所 ...
- Java 创建xml文件和操作xml数据
java中的代码 import java.io.File; import java.io.StringWriter; import javax.xml.parsers.DocumentBuilder; ...
- 关于eclipse中maven项目的问题
问题1: 严重: Error configuring application listener of class org.springframework.web.context.ContextLoad ...
- JUnit org.junit.runner.Request.classWithoutSuiteMethod解决方法
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
- 华为面试题——一道关于指针方面的编程题(C/C++)
int A[nSize],其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A, int nSize),使A把0移至后面,非0整数移至数组前面并保持有序,返回值为原数据中第一个元素 ...
- 简单的Hibernate入门简介
其实Hibernate本身是个独立的框架,它不需要任何web server或application server的支持.然而,大多数的Hibernate入门介绍都加入了很多非Hibernate的东西, ...
- json2.js 使用
参考:http://www.cnblogs.com/youring2/archive/2013/03/01/2938850.html github地址:https://github.com/dougl ...