easier way?
bearophile
bearophileHUGS at lycos.com
Wed Aug 25 18:44:33 PDT 2010
Jason Spencer:
> Do you mean just the number of dimensions, or do you mean the size
> along each dimension?
I mean just the number of dimensions.
> Knowing just the # of dimensions won't tell me
> the total size or how to index. I need the size of each dimension.
If you need that information at compile-time then it's better to just use nD fixed-sized arrays. There is not much need to create an array struct for this purpose.
> That's a copy from heap to stack, isn't it?
Right. (and that code isn't fully syntactically correct, you need to use [] when you copy array contents).
> That's what I'm trying to avoid.<
D doesn't support fixed-sized arrays allocated on the heap, to do that you need to wrap them inside a struct (with no waste of extra memory):
struct Foo(int N) {
int[N] arr;
}
void main() {
Foo!5* f = new Foo!(5)();
static assert((Foo!(5)).sizeof == 5 * int.sizeof);
}
Bye,
bearophile
More information about the Digitalmars-d-learn
mailing list