On 10/16/10 10:40 AM, Paulo Pinto wrote:
while reading TDPL I start wondering what is the background between function and delegate.
delegate() is a function pointer amended with a second context pointer, which allows you to have pointers to member functions, closures and so on.
function() is a C-style function pointer and can be used to interface with C code, etc., but obviously not for closures, since it its lacking the context part.
There is a clear difference between the two types, Ilthough you probably don't need raw function pointers very often if you are working in a D only environment. If you want to have the compiler decide, you could always use auto…