zoukankan      html  css  js  c++  java
  • CC++学习笔记 3

    C++记录7

    函数指针: 函数名为地址, 地址指的是在机器指令存储的地址。

    double func(int line)
    {
    reture line*3.5;
    }

    void f(int line, double (*pa)(int))
    {
    cout (*pa)(line);
    }

    f(5, func)

    深入函数指针:

    定义函数原型, 对于数组默认就是指针。
    const double * f1(const double [], int)
    const double * f2(const double *, int)
    该函数返回值是指针。


    int main()
    {
    double av[3] ={1,2,3}
    const double * (*p1)(constdouble *,int)=f1
    auto p2 = f2;

    cout (*p1)(av,3) 返回地址, *(*p1)(av,3)返回值
    cout p2(av,3) 返回地址, *p2(av,3)返回值

    函数指针数组:
    const double * (*pa[3])(const double *, int) = {f1, f2, f3}

    auto pb = pa auto不能定义数组但可以初始化指针地址。

    cout pa[1](av,2) 地址, *pa[1](av,2) 值
    cout pb[1](av,2) 地址, *pb[1](av,2) 值

    指针的指针
    auto pd = &pa
    const double * (*(*pc)[3])(const double *, int) = &pa

    cout 地址为 *(*pc)[0])(av,2) *(*(*pc))[0](av,2)值

    cout (*pd)[0](av,2) 为地址, *(*pd)[0](av,2)为值。

    double const * f1(const double * ar, int n)
    {
    reture ar+n;
    }

    double const * f2(const double [] ar, int n)
    {
    reture ar+n;
    }
    }

  • 相关阅读:
    一个简单的空间配置器
    【转】c++中placement new操作符
    类的operator new与operator delete的重载【转】
    STL中常用的c++语法
    java编程思想-多态
    java编程思想-复用类(2)
    java编程思想-复用类
    import与require的区别
    gulp插件
    gulp-gulpfile.js语法说明
  • 原文地址:https://www.cnblogs.com/ruili07/p/9660901.html
Copyright © 2011-2022 走看看