I need some help here.
Damian
damian.pop at gmail.com
Wed Aug 30 08:52:23 PDT 2006
Suppose I have a class like this:
class cl{
private:
char[][] _data;
int _maxDataLength;
public:
char[][] data(){
_return data;
}
void data(char[][] d){
_maxDataLength = calculateMaxDataLength(d);
_data = d;
}
int maxDataLength(){
return _maxDataLength;
}
private:
int calculateMaxDataLength(char[][] data){
// this takes time.
}
}
And in a function I do something like this:
// dClass is a global cl object.
char[][] d = dClass.data;
d[3] = "naranja";
int dlength = dClass.maxDataLength;
then dlength won't be valid, since _data has changed but
_maxDataLength wasn't updated.
How can I avoid this?
I know that
int maxDataLength(){
return calculateMaxDataLength(_data);
}
will solve the problem, but I don't want to call
calculateMaxDataLength if the intention is to to see
the data without modifying it.
Thanks.
More information about the Digitalmars-d-learn
mailing list