Forward references and more
bearophile
bearophileHUGS at lycos.com
Tue Oct 13 04:30:11 PDT 2009
Steven Schveighoffer:
> A static variable is essentially a scoped global variable. I think it
> will work if you make it static. I've used plenty of static variables
> that are instances of the struct they are declared in.
It doesn't compile with static variables too, you just need few seconds to try it on Codepad:
http://codepad.org/QHm2QNQ7
struct MemoryPool(T) {
alias T[100_000 / T.sizeof] Chunk;
static Chunk*[] chunks;
}
struct Foo {
int x;
static MemoryPool!(Foo) pool;
}
void main() {}
> But since I think you are implementing the memory
> pool incorrectly (it makes no sense for each instance of an item to have a
> pool of itself), you should reexamine what you are trying to do.
Next time I show code I'll replace all variable and type names with foo, baz, spam, etc. The memory pool in my dlibs is implemented correctly (I think). The code I've shown is just a reduced case, where I have removed the "static" too :-)
Bye,
bearophile
More information about the Digitalmars-d-learn
mailing list