一、内联函数
1.1 概念
以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调 用建立栈帧的开销,内联函数提升程序运行的效率 内联函数是以空间换时间
1.2 用法
inline void swap1(int& a,int& b)
{
int tmp=a;
a=b;
b=tmp;
}
int main() {
Solution s1;
int a=10;
int b=20;
swap(a,b);
cout << a << b << endl;
}
1.3 注意事项
inline不建议声明和定义分离,分离会导致链接错误。因为inline被展开,就没有函数地址 了,链接就会找不到
二、C++11新特性(部分)
2.1 auto
auto被赋予了新的含义,他可以自动推导类型,这在类型比较复杂的时候极为好用,这里由于是入门,所以不介绍复杂的类型推导
int main() {
auto a=10;
auto b=1.1;
auto c='a';
}
这种用法可能读者不理解这个auto的意义在于哪里,但是没关系,以后的文章将会介绍到,现在介绍过于早
2.2.1 auto的注意事项
1.auto不能定义数组 2.auto要声明引用类型必须写auto&,其他均可以用auto推导出来 3.auto在同一行定义的代码必须是同一种类型,不然推到不出来 4.auto定义的变量必须初始化(不然推导不出来是什么类型的变量) 5.auto不能作为函数的参数
2.2 范围for
为了更加方便的使用循环,我们便可以使用范围for去进行遍历
int main() {
int nums[]={1,2,3,4,5};
for(int num:nums)
{
cout << num;
}
cout << endl;
}
但是这种方法不可以更改数据,若是想更改数据必须得有别名对吧?
int main() {
int nums[]={1,2,3,4,5};
for(int& num:nums)
{
num++;
}
}
写成这样以后为们就可以对数组里面的值进行更改了