Who's using structs nested in functions?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Thu Oct 22 09:11:01 PDT 2009


Fawzi Mohamed wrote:
> 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
> 

Could you prepend "static" in front of their definition and still have 
them work?

Andrei



More information about the Digitalmars-d mailing list