zoukankan      html  css  js  c++  java
  • C++程序设计入门(上) 函数学习

    局部变量和全局变量的访问:

    全局变量的作用域时全局,局部变量的作用域是局部,若全局和局部的变量名相同的话,局部变量的改变不会引起全局变量的改变
    #include<iostream> int a=1; int main() { int a=10; std::cout << a << std::endl; std::cout << ::a << std::endl; return 0; }

    局部变量名与全局变量名相同时, 可使用 :: 访问全局变量          

    重载函数:

    已知一个程序

    int max(int num1, int num2)

    {

    if (num1 > num2) return num1;

    else return num2;

    }

    如果遇到浮点数要比大小怎么办?

    解决方法是方法是生成 一个同名不同参数的函数

    编译器如何匹配重载函数调用?  看参数:1. 个数    2.类型    3.顺序

    #include<iostream>
    using namespace std;
    int max(int num1,int num2)
    {
        if(num1>num2)
        return num1;
        else
        return num2;
    }
    double max(double num1,double num2)
    {
        if(num1>num2)
        return num1;
        else
        return num2;
    }
    int main()
    {
        cout << max(1,2) << endl;
        cout << max(3.4,5.2) << endl;
        return 0;
     } 

    默认参数值:

    C++ allows you to declare functions with default argument values. (可以声明带默认参数值的 函数)

     The default values are passed to the parameters when a function is invoked without the arguments. (无参调用函数时,默认值会 被传递给形式参数)

    定义时要注意:参数列表中默认值参数应该后置

    错误的代码:

    1 void t1 (int x, int y=0, int z);
    2 void t2 (int x, int y=0, int z);

    正确的代码:

    1 void t3 (int x, int y=0, int z=0); 
    2 void t4 (int x=0, int y=0, int z=0);

    调用时需要注意:

    参数列表中实参应该前置

    错误代码:

    t3 (1, , 20); 
    t4 ( , , 20);

    正确代码:

    t3 (1);    // y,z: default value 
    t4 (1, 2); // z:   default value 

    内联函数:

    Using functions in a program: 

    Advantages(优点): 易读易维护 

    Drawbacks (缺点): 运行时性能开销 • 函数调用时:参数及部分CPU寄存器的 寄存器内容进栈,控制流跳转 • 函数返回时:返回值及寄存器值出栈, 控制流跳转

    Inline functions  目的:减小性能开销

     方法:代码插入到调用处

     结果:导致程序变大

    用法:在函数前加关键字inline

    inline int max (int a, int b) 
    {
     return (a > b ? a : b);
    } 

    错误的代码:

    int max (int a, int b); // Call max()
    
    
     inline int max (int a, int b) 
    { 
    return (a > b ? a : b); 
    }

    内联函数适用于短函数

  • 相关阅读:
    常见WINDOWS运行命令
    CSDN Blog 之七宗罪
    常见进程大全
    开始→运行→输入的命令集锦(网上搜来的)
    20200527:SpringCloud用了那些组件?分布式追踪链怎么做的?熔断器工作原理?
    20200520:分库分表后如何迁移?
    20200523:如何实现并发限流
    20200521:es底层读写原理?倒排索引原理?
    20200525:MQ应用场景、Kafka和rabbit区别?kafka为什么支撑高并发? 来自
    20200519:催收核心业务是什么?
  • 原文地址:https://www.cnblogs.com/wjc2021/p/10662361.html
Copyright © 2011-2022 走看看