内联函数声明:
inline int max(int a,int b)
{
return (a>b?a:b);
}
//注意:以下声明方式不可行
int max(int a,int b);
inline int max(int a,int b)
{
........
}
模板函数:
#include<iostream>
using namespace std;
template <typename T>
auto max(T a,T b)
{
return (a>b?a:b);
}
template <typename T>
auto max(T a,T b,T c)
{
return max(a,max(b,c));
}
基于范围的for循环
auto a1[]{1,3,5,7};//旧式数组声明
std::array<int,4>a2{2,4,6,8};//新式c11,c14,c17数组声明
eg:把数组a的值全部输出,并且将值翻倍
for(auto i:a)
{
std::cout<<i<<std::endl;
}
for(auto& i:a)
{
i*=2;
}