Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> But C function pointers are not really emulating virtual functions. They're better and more powerful than virtual functions.

"Better" is a value judgment, so I'm not sure about that, but...

AFAICT they're more like prototypal inheritance than the inheritance model of C++.



They're not really "inheritance". They can do what inheritance can do, and much much more.


If that's your argument, then I'd say that C function pointers are absolute shit compared to LISP continuations.

How would do I do this in C ?

  int some_function() {
    // some processing
    fp = package_the_rest_of_this_function_into_a_function_pointer()

    do_some_background_processing_and_callback(fp);

    // all the background processing is done
  }
In LISP, this is easy, in fact, in most LISPs, it's builtin.


Of course that's true. But Lisp is shitty at controlling memory use, indirections, and manual MM.


Which is why I said "more like".

Can you give examples of this "much much more" you're referring to?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: