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