2.c++变量和基本类型笔记
来源:互联网 发布:单片机频率计程序 编辑:程序博客网 时间:2024/06/09 23:17
1 cpp基本的内置类型:
算数类型:整数,浮点数,布尔值,单字符
特殊类型:void
2-1 整型:
整数,单字符,布尔值 都是整型。
字符型:
char 8字节
wchar_t 常用于扩展字符集
整型值:
short 一般半个机器字长
int 一个机器字长
long 一个或两个机器字长
布尔值:
true
false
2-2 浮点型:
float 单精度(6位有效数字)
double 双精度 (10位有效数字)
long double 扩展精度
#计算机存储器将 8位的块 称为一个字节,每个内存地址指向一个字节。
#计算机的类型确定了数据存储的空间大小和形式,并确定了该数据可以
#承载的操作。
3 带符号 和 不带符号 类型:
除 布尔值 之外,整型可以 带符号 或者 不带符号;
4 字面值常量:
只能按照值称呼且不能修改的 值 叫做字面值常量;
20 //十进制decimal
020 //八进制octal
0x20 //十六进制hexadecimal
128u //无符号整型
1L //长整型
3.14F //单精度浮点型(默认浮点数是double类型)
3.14E0F //科学计数表示
true //布尔值常量
false //布尔值常量
"abc" //字符串常量,结尾包含'\0'
#字符串常量是不能被修改的,将字符串常量赋给指针时,必须用常量指针。
5 变量:
c++是一门静态类型语言,编译时需要做类型检查。
变量是特定内存区域的名称,每个变量都有类型,因此变量可以理解为具有
类型的内存区域,类型决定了该存储区的大小和该存储区可以承载的操作。
左值和右值:
左值可以出现在赋值表达式的左边或者右边,
右值只能出现在赋值表达式的右边。
常量只能作为右值。
6 变量的初始化:
定义变量 是指 指定了变量的类型和标示符,初始化 是指 在定义变量时给
定变量的初始值。c++中变量的初始化 分为 “直接初始化” 和 “复制初始
化”。
int val(10); //direct-initialization
int val = 10; //copy-initialization
7 变量的初始化规则:
内置类型:内置类型变量是否自动初始化取决于变量的定义位置,定义在函数
体之外会自动初始化为0(此时变量存储在数据段),定义在函数体内部的内置
类型变量将不会自动初始化(此时变量存储在栈区)。
类类型:类类型变量通过构造器初始化,只有拥有默认构造器的类类型才能自
动初始化,没有默认构造器的类类型变量只能通过显式调用构造器初始化。
#任何未初始化的变量作为右值都是未定义的行为。
8 声明和定义:
定义 指定了变量名和变量类型,同时为变量分配存储空间,还可以提供初始化
式;
声明 只是向程序表名了变量的 类型 和 名称;
extern关键字: 用于声明一个外部变量。
9 作用域:
用于区分变量的作用范围。
全局作用域: 函数体外部;
局部作用域: 函数体内部;
10 const修饰符:
const修饰一个对象可以将其转换成常量,从而使其在运行期无法被修改。因此
const对象必须在定义时初始化。与宏定义常量相比,const对象具有类型,会在
编译期进行类型安全检查,而运行期间只有一份内存拷贝。
#值得注意的是,const对象默认为文件的局部变量,若要使其对其他可见,需要
用extern关键字修饰。
c++中,const修饰的方法为常量方法,该方法无法改变对象的数据成员(除了用
multable修饰的成员)
11 引用:
引用是对象的别名。
定义引用时必须初始化,且在运行期间不能改变其绑定的对象。
由于引用一旦初始化后,该标示符就绑定到特定类型的内存空间,所以该标示符
的类型已经不是引用,故不存在引用的引用。
const 引用:
指向const对象的引用,此时只能通过该引用对对象进行只读操作。
#不能将一个非const引用绑定到一个const对象,非const引用只能绑定
到特定类型的对象。
#const引用可以初始化为不同类型的对象 甚至是 右值。
算数类型:整数,浮点数,布尔值,单字符
特殊类型:void
2-1 整型:
整数,单字符,布尔值 都是整型。
字符型:
char 8字节
wchar_t 常用于扩展字符集
整型值:
short 一般半个机器字长
int 一个机器字长
long 一个或两个机器字长
布尔值:
true
false
2-2 浮点型:
float 单精度(6位有效数字)
double 双精度 (10位有效数字)
long double 扩展精度
#计算机存储器将 8位的块 称为一个字节,每个内存地址指向一个字节。
#计算机的类型确定了数据存储的空间大小和形式,并确定了该数据可以
#承载的操作。
3 带符号 和 不带符号 类型:
除 布尔值 之外,整型可以 带符号 或者 不带符号;
4 字面值常量:
只能按照值称呼且不能修改的 值 叫做字面值常量;
20 //十进制decimal
020 //八进制octal
0x20 //十六进制hexadecimal
128u //无符号整型
1L //长整型
3.14F //单精度浮点型(默认浮点数是double类型)
3.14E0F //科学计数表示
true //布尔值常量
false //布尔值常量
"abc" //字符串常量,结尾包含'\0'
#字符串常量是不能被修改的,将字符串常量赋给指针时,必须用常量指针。
5 变量:
c++是一门静态类型语言,编译时需要做类型检查。
变量是特定内存区域的名称,每个变量都有类型,因此变量可以理解为具有
类型的内存区域,类型决定了该存储区的大小和该存储区可以承载的操作。
左值和右值:
左值可以出现在赋值表达式的左边或者右边,
右值只能出现在赋值表达式的右边。
常量只能作为右值。
6 变量的初始化:
定义变量 是指 指定了变量的类型和标示符,初始化 是指 在定义变量时给
定变量的初始值。c++中变量的初始化 分为 “直接初始化” 和 “复制初始
化”。
int val(10); //direct-initialization
int val = 10; //copy-initialization
7 变量的初始化规则:
内置类型:内置类型变量是否自动初始化取决于变量的定义位置,定义在函数
体之外会自动初始化为0(此时变量存储在数据段),定义在函数体内部的内置
类型变量将不会自动初始化(此时变量存储在栈区)。
类类型:类类型变量通过构造器初始化,只有拥有默认构造器的类类型才能自
动初始化,没有默认构造器的类类型变量只能通过显式调用构造器初始化。
#任何未初始化的变量作为右值都是未定义的行为。
8 声明和定义:
定义 指定了变量名和变量类型,同时为变量分配存储空间,还可以提供初始化
式;
声明 只是向程序表名了变量的 类型 和 名称;
extern关键字: 用于声明一个外部变量。
9 作用域:
用于区分变量的作用范围。
全局作用域: 函数体外部;
局部作用域: 函数体内部;
10 const修饰符:
const修饰一个对象可以将其转换成常量,从而使其在运行期无法被修改。因此
const对象必须在定义时初始化。与宏定义常量相比,const对象具有类型,会在
编译期进行类型安全检查,而运行期间只有一份内存拷贝。
#值得注意的是,const对象默认为文件的局部变量,若要使其对其他可见,需要
用extern关键字修饰。
c++中,const修饰的方法为常量方法,该方法无法改变对象的数据成员(除了用
multable修饰的成员)
11 引用:
引用是对象的别名。
定义引用时必须初始化,且在运行期间不能改变其绑定的对象。
由于引用一旦初始化后,该标示符就绑定到特定类型的内存空间,所以该标示符
的类型已经不是引用,故不存在引用的引用。
const 引用:
指向const对象的引用,此时只能通过该引用对对象进行只读操作。
#不能将一个非const引用绑定到一个const对象,非const引用只能绑定
到特定类型的对象。
#const引用可以初始化为不同类型的对象 甚至是 右值。
0 0
- C++Primer笔记--变量和基本类型
- 2.变量和基本类型(c++)
- 2.c++变量和基本类型笔记
- C++:基本类型和变量
- c++primer 学习笔记(2.0)变量和基本类型
- C++Primer笔记 第二章 变量和基本类型
- c++primer学习笔记1 - 变量和基本类型
- C++Primer第二章(变量和基本类型)笔记
- C++Primer学习笔记之变量和基本类型
- 《c++primer》笔记 第2章 变量和基本类型
- c++Primer笔记1(快速入门、变量和基本类型、标准库类型)
- C++Primer 变量和基本类型
- c++Primer,二,变量和基本类型
- c++primer 要点-变量和基本类型
- C++变量和基本类型笔记
- 【C++笔记】变量和基本类型
- 2. 变量和基本类型
- 2. 变量和基本类型
- 玩时间
- 图的广度优先搜索
- 【记】又一轮的笔试结束
- HDU 2176 取(m堆)石子游戏
- Word使用
- 2.c++变量和基本类型笔记
- 百度语音接口
- STL MAP及字典树在关键字统计中的性能分析
- sed命令学习
- ubuntu12.04 安装qt5
- [LeetCode] Maximum Depth of Binary Tree
- C++随笔(一)
- 当EditText输入为空时,getText().toString()返回值
- QT学习笔记之QWidget,QMainWindow和QDialog的区别