美文网首页C++C++
C++——内联函数、函数重载、函数缺省参数

C++——内联函数、函数重载、函数缺省参数

作者: d16ug_a1l | 来源:发表于2018-12-21 11:27 被阅读4次

内联函数

使用inline关键字将函数变为内联函数,函数内联是为了降低函数调用时占用的多余时间,多余时间的产生在,程序需要把函数的变量以及返回值压入栈中,再跳转到函数执行的位置,最后在将返回值出栈。

函数内联的原理是直接将调用函数的代码拷贝到执行函数的那段代码中。

这种做法虽然降低了函数的调用时间,但是这样使代码的相同率增加,造成代码膨胀。只有语句较少的函数才会使用内联函数。

inline void test_a()

{

cout << "这是一个内联函数" << "\n" << endl;

}

int main()

{

test_a();

}

函数重载

函数重载的目的是为了使函数的命名变得简单,编译器通过函数传入参数的数量与参数的类型,进行区分,应该调用那个函数。

函数的返回值类型不同时,不是函数的重载,那称为函数的重定义。

void test_a()

{

cout << "这是一个内联函数" << "\n" << endl;

}

void test_a(int a, int b)

{

cout << "第一个重载函数" << endl;

}

void test_a(long c, long d)

{

cout << "第二个重载函数" << endl;

}

void test_a(double e, double f)

{

cout << "第三个重载函数" << endl;

}

int main()

{

test_a();

test_a(1,2);

test_a(300000000000,300000000);//依旧调用的是第一个重载函数

test_a(3.1,3.2);

}

函数的缺省参数

函数的缺省值相当于函数的默认值,缺省值的目的是为了增加函数的可扩充性。

void test(int a=10, int b=20,int c=30)

{

cout << "第一个数\t\n"<<a<<"第二个数\t\n"<<b<<"第三个数\t"<<c;

}

int main()

{

test();

test(11,22);

//test(,20,80);

}

相关文章

  • 《C++ Primer Plus》:函数探幽

    本章内容概览 内联函数 引用变量 按引用传递函数参数 默认参数 函数重载 函数模板 内联函数 内联函数是C++为提...

  • C++ - 成员函数的重载及内联成员函数

    内联成员函数 inline+ 成员函数 整个函数体出现在类定义内部 成员函数的重载及参数缺省 重载成员函数 成员函...

  • C++——内联函数、函数重载、函数缺省参数

    内联函数 使用inline关键字将函数变为内联函数,函数内联是为了降低函数调用时占用的多余时间,多余时间的产生在,...

  • C++——内联函数、函数重载、函数缺省参数

    内联函数 使用inline关键字将函数变为内联函数,函数内联是为了降低函数调用时占用的多余时间,多余时间的产生在,...

  • c++第一讲

    目标 c++关键字 命名空间 c++输入和输出 缺省参数 函数重载 引用 内联 auto关键字 基于范围的for循...

  • 内联函数重载函数缺省函数

    注:以下大部分内容来源于 coursera 课程《C++程序设计》 内联函数 函数调用(将参数放到栈里面去,将结果...

  • 第八章 函数探幽(1)c++内联函数

    c++赋予了一些新的关于函数的特性,包括,内联函数,按引用传递变量,默认的参数值,函数重载(多态),以及模板函数...

  • Swift函数

    概览函数定义隐式返回返回元组(实现多值返回)函数参数参数标签默认参数值可变参数输入输出参数函数重载内联函数函数类型...

  • C++基础语法-重载、extern

    函数重载 今天我们来深入学习下C++的基础语法函数重载。函数重载定义:只要函数名相同,参数个数不同,参数类型不同,...

  • c++函数特性

    函数重载,参数默认值,内联函数 重载:函数名相同,参数列表不同,作用域相同。 参数默认值:参数默认值必须从最后开始...

网友评论

    本文标题:C++——内联函数、函数重载、函数缺省参数

    本文链接:https://www.haomeiwen.com/subject/rrlmkqtx.html