On 2009-10-23 12:11:20 +0200, Fawzi Mohamed <fmoha...@mac.com> said:
On 2009-10-22 18:11:01 +0200, Andrei Alexandrescu
<seewebsiteforem...@erdani.org> said:
Fawzi Mohamed wrote:
On 2009-10-22 16:33:01 +0200, Jeremie Pelletier <jerem...@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
Sure, I thought nested structures were always static, and did not have
access to the context, as classes do.
Fawzi
Ok I see that indeed in D2.0 struct have a pointer to the context, no I
don't use that.
Fawzi