memcpy(arg, &(void *){ NULL }, sizeof(val)); 思考

void av_freep(void *arg)
{
    void *val;

    memcpy(&val, arg, sizeof(val));

    memcpy(arg, &(void *){ NULL }, sizeof(val));


    av_free(val);

}

ffmpeg中此函數的用法,是爲了釋放二級指針,以上代碼相當於 val=*arg;arg=NULL;

至於ffmepg爲什麼這麼寫,而不是簡單的賦值,後續如果有條件可以測試兩種寫法的效率









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章