C++ Primer 学习笔记 第二章 变量和基本类型

1.1编写一个简单的C++程序
每个C++程序包含一个或多个函数,其中一个必须命名为main。
一个函数的定义包括四个部分
返回类型(return type)、函数名(function name)、一个括号包围的形参列表(parameter list)以及函数体(function body)
当return语句包含一个值时,此返回值的类型必须与函数的类型相同

1.1.1编译、运行程序
IDE(Integrated Developed Environment)集成开发环境,编译器与其他程序创建和分析工具包装在一起。
程序文件通常称为源文件(source file)

1.2 初识输入与输出
输入输出(IO),标准库(standard library)
iostream库,包含istream和ostream,分别表示输入流和输出流。
cin,输入
cout,输出
cerr,发出错误和警告信息
clog,输出程序运行时的一般信息

2.1基本内置类型
算数类型(arithmetic type)和空类型(void)
2.1.1算数类型
整型(包括布尔类型和字符类型)和浮点型
带符号类型(signed):表示正数、负数和0
无符号类型(unsigned):表示大于等于0的值

2.1.2类型转换
将对象从一种给定的类型转换(convert)为另一种类型

2.1.3字面值常量
整型和浮点型字面值
(1)以0开头的数字代表八进制数
(2)以0x或0X开头的数字代表十六进制数

字符和字符串字面值
(1)由单引号括起来的一个字符称为char型字面值,‘a’
(2)字符串字面量实际上是由字符常量构成的数组,编译器会在每个字符串末尾加一个’\0’,因此比实际长度要多1
转义序列
\n 换行符
\t 横向制表符
\v 纵向制表符
\ 反斜线

2.2变量
2.2.1变量的定义
类型说明符 一个或多个变量名组成的列表,变量名以逗号分隔,以分号结束
初始值:当对象在创建时获得了一个特定的值,我们就说这个对象被初始化了。
默认初始化:定义变量时没有指定初值,则变量被默认初始化

2.2.2变量的声明和定义的关系
声明使得名字为程序所知
定义负责创建与名字相关的实体
变量只能被定义一次,但是可以被多次声明

2.2.3标识符
C++的标识符由字母、数字或下划线组成,其中必须以字母或下划线开头。
变量命名规范
(1)标识符要符合实际含义
(2)变量名一般用小写字母
(3)用户自定义的类名一般用大写字母开头
(4)如果标识符由多个单词组成,则单词之间应该由明显的区分

2.2.4名字的作用域
名字的有效区域始于名字的声明语句,以声明语句所在的作用域末端为结束
全局作用域:全局作用域的名字在整个程序范围内都可以使用
块作用域
嵌套的作用域:被包含的作用域称为内层作用域,包含着别的作用域的作用域称为外层作用域

2.3复合类型
2.3.1引用
引用为对象起了另一个名字,引用类型引用另外一种类型
引用并非对象,它只是为一个已存在的对象所起的另外一个名字
2.3.2指针
指针是指向另外一种类型的复合类型
指针本身就是一个对象,允许对指针进行赋值和拷贝,而且在指针的生命周期内它可以先后指向几个不同的对象
指针无需在定义时赋初值

想获取对象的地址,需要使用取地址符(&)
指针值
(1)指向一个对象
(2)指向紧邻对象所在空间的下一位置
(3)空指针,意味着没有指向任何对象
(4)无效指针,上述情况之外的其他值

利用指针访问对象
使用解引用符(操作*)来访问该对象
空指针:空指针不指向任何对象
赋值和指针:给指针赋值就是给指针一个新的地址,从而它可以指向一个新对象

2.3.3理解复合类型的声明
定义多个变量
指向指针的指针
指向指针的引用

2.4const限定符
2.4.1const的引用
可以把引用绑定到const对象上,就像绑定到其他对象上一样,我们称为对常量的引用
2.4.2指针和const
指向常量的指针不能用于其改变所指对象的值。想存放常量对象的地址,只能用指向常量的指针。
const指针必须被初始化,而且一旦初始化完成,它的值就不再变化了
2.4.3顶层const
2.4.4constexpr和常量表达式
constexpr变量

2.5处理类型
2.5.1类型别名
关键字是typedef

2.5.2auto类型说明符
2.5.3decltype类型指示符

2.6自定义数据结构
2.6.1定义Sales_data类型
struct开头,接着是类名,随后是类体
2.6.2使用Sales_data类
2.6.3编写自己的头文件

你可能感兴趣的:(自学,c++)