3 ms·
[33.1] Is the type of "pointer-to-member-function" different from "pointer-to-function"? It’s interesting to notice how “this” is what distinguishes the two.
by pipeline_peak 5y ago
[33.1] Is the type of "pointer-to-member-function" different from "pointer-to-function"?
It’s interesting to notice how “this” is what distinguishes the two.
When creating member functions in C, function pointers are assigned members. In order to access or change the object with an assigned function pointer, that object needs to be called or in other words, “this”.
obj.member_function(&obj);
In C++ would be
obj.member_function();
- BenjiWiebe 5y agoPeople actually put functions in structs in C to make it look like OOP!? That's horrifying! Or am I (hopefully) misunderstanding something here?
- pipeline_peak 5y agoI'm not sure how common it is in practice. CPython and GTK are the most popular examples of OOP in C that I can think of. It's pretty pointless unless you want some sort of namespace-like organization. Maybe for polymorphism because you can change an instance's "base" member function pointer.