zoukankan      html  css  js  c++  java
  • c++中关于指针的比较复杂的定义方式(《c++编程思想》读书笔记)

    最近利用茶余饭后的时间在看《c++编程思想》这本大部头的经典,其中看到关于指针的论述,不禁拍案叫绝,摘录几笔如下:

      

    //complicated Definitions

    1. void * (*(*fp1)(int))[10];
    2. float (*(*fp2)(int,int,float))(int);
    3. typedef double (*(*(*fp3)())[10])();
    4. int (*(*fp4())[10])();

    1:fp1是一个指向函数的指针,该函数接受一个整型参数并返回一个指向含有10个void指针数组的指针。

    2:fp2是一个指向函数的指针,该函数接受3个参数且返回一个指向函数的指针,该函数接受一个整型参数并返回一个float.

    3:fp3是一个指向函数的指针,该函数无参数,且返回一个指向含有10个指向函数指针数组的指针,这些函数不接受参数且返回double值。

    4:fp4是一个函数定义,fp4是一个返回指针的函数,该指针指向含有10个函数指针的数组,这些函数返回整型值。

      光看定义和说明就已经觉得很复杂了,真不知道实际应用会是什么样子,不禁感叹c++确实是高手用的东西。。。

  • 相关阅读:
    多线程面试题
    Tcpdump MySQL Query
    Gossip和Redis集群原理
    mysql-table_open_cache_file_limits/
    introducing-backup-locks-percona-server-2/
    MySQL 一致性读 深入研究
    how-to-configure-mysql-masterslave-replication-with-mha-automatic-failover/
    mysqlOOM
    mysql 线程池
    Linux performance monitor tool
  • 原文地址:https://www.cnblogs.com/Lightmen/p/5623009.html
Copyright © 2011-2022 走看看