1.内联函数(inline修饰的函数)
1.1 牺牲空间提高效率
1.2 短小精悍
1.3 在结构体中或者类型实现的函数默认为内联函数
2.函数重载(允许同名不同参的函数存在)
2.1 数目不同
2.2 类型不同
2.3 顺序不同
3.函数缺省(其实就是给函数参数赋初始值)
注意点问题: 必须从右往左边进行缺省
当参数缺少实际参数的时候,使用默认值
//错误写法 //void printData(int a=1, int b, int c, int d) //{ // cout << a + b + c + d << endl; //} //错误写法 //void printData(int a, int b=3, int c, int d=1) //{ // cout << a + b + c + d << endl; //}
#include <iostream> using namespace std; inline void print() { cout << "ILoveyou" << endl; } //2.1 数目不同 void print(int a) { cout << a << endl; } void print(int a, int b) { cout << a + b << endl; } //2.2 类型不同 void print(char a, int b) { cout << a + b << endl; } //2.3 顺序不同(一定是存在不同类型数据) void print(int a, char b) { cout << a + b << endl; }
//从右往左连续性的缺省 //形参的初始值 ,你想写多少就写多少
void printData(int a=1 , int b=2, int c=3, int d=4) { cout << a + b + c + d << endl; } int main() { printData(); //a=1 b=2 c=3 d=4 printData(11); //a=11 b=2 c=3 d=4 printData(11, 22); //a=11 b=22 c=3 d=4 printData(11, 22, 33); //a=11 b=22 c=33 d=4 printData(11, 22, 33, 44); //a=11 b=22 c=33 d=44 //构造函数就可以采用这种写法,可以避免很多错误 //可以避免垃圾值 print(); print(1); print(1, 2); print('A', 2); print(1, 'A'); //putimage //loadimage //Lambda 把函数写成一个表达式(函数的定义和调用可以写在一起) return 0; }