初识C++

1.在语法层面上:引用不开空间,但是指针开空间

底层都是指针

2.涉及强制类型转换、+-*/这些的,编译器都会生成一个具有常性的临时变量来存储对应的值

如:

上边这个没问题,但是下边这个:
int& b  = a;有问题

b临时变量的别名

因为临时变量具有常性,所以b的本体不能被修改,但是由于b没有被const修饰,所以b可以被修改,这就是权限的放大

注:权限可以缩小,平移,但不能放大。

改成这样就好了:
const int& b = a;(权限的平移)

3.没有NULL引用,但是有NULL指针

4.对于频繁调用短小函数(非递归),建议在用inline修饰

注:inline仅仅是给编译器的一条建议,具体看编译器想不想实现

内联函数不能够声明和定义分离,因为内联函数没有地址

5.auto可以自动识别变量类型,使用方式类似于int,但不完全相同

6.在C++里边尽量用nullptr而不是NULL

因为NULL的实质是:
#define NULL 0

在某些情况下会出乎意料

例:

void func(int)
{
	cout << "int" << endl;
}

void func(int*)
{
	cout << "int*" << endl;
}

int main()
{
	func(0);
	func(NULL);


	return 0;
}

输出两个int

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值