从C到C++【基础语法篇02】

99 阅读1分钟

一、内联函数

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++;
   }
}

写成这样以后为们就可以对数组里面的值进行更改了