I need some help here.
Reiner Pope
reiner.pope at REMOVE.THIS.gmail.com
Thu Aug 31 16:02:55 PDT 2006
Damian wrote:
> I would have to use
> MyArray!(MyArray!(char)) _data;
> for _data to be really immutable.
> Anyway, I can't do this that way, since my class "cl" couldnt modify
> _data either.
No, that's not quite what I meant. Your class (cl) would look like this:
class cl{
private:
char[][] _data;
int _maxDataLength;
public:
MyArray!(MyArray!(char)) data() {
// Construct a MyArray which represents a readonly view of
the data
}
int maxDataLength(){
return _maxDataLength;
}
private:
int calculateMaxDataLength(char[][] data){
// this takes time.
}
}
The constructor would be annoying to write, though, because you would
need to recursively generate one for each level of the array. However, a
bit of template magic could be your solution here, I think.
Yes, from your other post, const is really what you need, and many
people find it lacking. However, it is way too complex to rush, and
there has not yet been a perfect solution proposed. There probably never
will be, so D may remain without const.
Cheers,
Reiner
More information about the Digitalmars-d-learn
mailing list