Who's using structs nested in functions?

Fawzi Mohamed fmohamed at mac.com
Thu Oct 22 09:04:06 PDT 2009


On 2009-10-22 16:33:01 +0200, Jeremie Pelletier <jeremiep at gmail.com> said:

> bearophile wrote:
>> Andrei Alexandrescu:
>> 
>>> With nested structs, however, you can't do much. You can pass them to a 
>>> template, but I can't see some solid use cases there. My understanding 
>>> is that nested structs have been implemented for completeness and 
>>> consistency with nested classes.
>>> Any good example of nested struct uses?
>> 
>> I have used nested static structs sometimes, when I need a struct just 
>> inside a function (like the main()) to avoid polluting the outer scope 
>> with the struct name.
>> 
>> Do you want to remove them from D2?
>> 
>> Bye,
>> bearophile
> 
> I've had similar uses, some win32 api routines require custom structs 
> like BITMAPINFO, nested structs are neat to declare the struct right 
> before its only usage.
> 
> However I don't think having a closure for that struct is really 
> needed, nested functions already perform that task very well, and I use 
> those quite often.
> 
> Jeremie

I use structs in nested functions as context for parallel recursive 
loops, actually my code would be nicer if circular referring structs 
would be allowed in nested functions (at the moment this is not 
possible, even with forward references).

Fawzi




More information about the Digitalmars-d mailing list