C++(三):内联函数inline ,auto关键字, 空指针nullptr

一:内联函数

  内联函数inline,编译时 C++ 编译器会在 调用内联函数的地方展开 没有函数调用建立栈帧的开销,所以可以提升效率。但是,如果内联函数太长比如几十行上百行(不同编译器不同)编译器可以忽视。另外,这是一种空间换时间的做法,如果展开内联函数,编译阶段就会用函数体替代函数调用,从而使目标文件变大。
  注意:内联函数不可声明和定义分离。因为内联函数不进入符号表,编译时就展开了,后面就找不到该函数了
#include<iostream>
using namespace std;
inline int add(int a, int b) {
	return a + b;
}
int main() {
	cout << add(1, 2);
	return 0;
}

二:auto关键字

一:

这是一个非常好用的关键字,能帮咱简化很多繁琐的流程,它可以自动推导变量的类型。

注意:1.不可用作形参。 2.定义变量时必须初始化 3.同一行声明多个变量,变量必须同类型。

       4.不可声明数组

auto a = 10;
	auto b = "a";
	//auto c = 1, d = 2.2; 同一行类型不同
	//auto f; 没有初始化

二:范围for

格式:for(auto+迭代的变量名字随你取:迭代的范围,比如数组名)

注意:迭代范围必须确定

int a[4] = { 1,2,3,4 };
	for (auto f : a) cout << f; //不改变数组
	cout << endl;
	for (auto& f : a) cout << f*2;//改变数组

三:空指针nullptr

在c++中,空指针最好用nullptr ,c语言中的null可能被定义为字面常量0,或者被定义为无类型指针(void*)的常量,给咱造成不必要的麻烦。

感谢你看到这,大家共同进步!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值