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引用可以初始化为不同类型的对象 甚至是 右值。
0 0
原创粉丝点击