suchen

Heim  >  Fragen und Antworten  >  Hauptteil

c++ - Was bedeutet static void (* __set_malloc_handler(void (*__f)()))()?

static void (* __set_malloc_handler(void (*__f)()))()
Was macht

void (*func)()这个我懂,但是上面这个__f und wie ruft man die obige Funktion auf?

曾经蜡笔没有小新曾经蜡笔没有小新2718 Tage vor985

Antworte allen(1)Ich werde antworten

  • 巴扎黑

    巴扎黑2017-06-05 11:13:30

    拆开一层一层的分析
    最内部的__f是一个函数指针,其参数为void,返回值为void。
    然后__set_malloc_handler比较容易迷惑,首先它是一个函数(一开始说错了,不是指针),其参数为形如__f的函数指针,其返回值又是个指针,这个指针的类型是void(*)()
    用法应该是形如下面这样:

    void (*foo)();
    void (*bar)();
    foo = __set_malloc_handler(bar);

    Antwort
    0
  • StornierenAntwort