c++基础知识(第二章学习笔记1)

1.数据类型的扩展

在C++中  suruct  union  enum  定义的名称都可以直接用于定义变量(不必typedef)
2.引入const

代替#define const 比#define 更安全且便于使用
3.void指针

可以将其他类型指针赋给他(不可以是函数指针)。
用途:①作为函数的参数,可以传递任何类型的指针,②可以用于返回一个无类型的对象指针
4.new和delete

用于代替malloc(),和free().

p=new int;
p=new int (x);  //分配空间并初始化为x
p=new type[n];  //分配具有n个元素的数组

new根据类型,自动计算空间无需sizeof() 计算
p保存分配空间的首地址,分配失败则返回空指针。所以用

if(!p){cout<<"分配失败"<<endl;}

来判断内存是否分配成功.

delete p;//释放内存
delete []p;//释放内存组


5.引用,给同一个变量,起一个新名字,对新旧名字进行操作都改变变量内存所保存的值,定义引用时要在定义时确定引用对象,不可定义后赋值。

int f;
int &a=f;//正确
int &b;
b=f;//错误,至于这里为什么错误在我另一篇博文(指针常量,常量指针与引用)中有说明


6.类型转换

(1)隐式类型转换

①将窄类型转换为宽类型,也就是将占用内存少的类型向占用内存多的类型转换

例:

int a=1;
float b=2.2;
double c=3.3;
a+b+c;//此时系统会先计算a+b时将a转换为float型再将结果转换为double再与c相加


②在赋值语句右边转换为左边的类型

int a;
float b=3.4;
a=b;//则a=3


③在函数传递参数时,若类型不同也会发生类型转换

int add(int a,int b)
{
 return a+b;
}
int main()
{
int a=1;
float b=2.1;
add(a,b);
}//则b转换为int型2参与运算

④函数返回时,也可以隐式类型转换

double add(int a,int b)
{
return a+b;
}//返回时先将结果转换为double再返回


(2)显示类型转换

int a=4;
float c=(float)a;//法一
float b=float(a);//法二
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值