[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Re: dumb C++ question
From:       Stephan Kulow <coolo () alpha ! tat ! physik ! uni-tuebingen ! de>
Date:       1999-05-23 9:42:30
[Download RAW message or body]

Mario Weilguni wrote:
> 
> Am Sun, 23 May 1999 schrieb Stephan Kulow:
> >Hi!
> >
> >What does new int[0]?
> >
> >In QString (about line 10300) is:
> >
> >    QChar* result = 0;
> >    uint l = 0;
> >    if ( str ) {
> >        if ( maxlen != (uint)-1 ) {
> >            while (str[l] && l < maxlen)
> >                l++;
> >        } else {
> >            // Faster?
> >            l = strlen(str);
> >        }
> >->        QChar *uc = new QChar[l];
> >        result = uc;
> >        uint i = l;
> >        while ( i-- )
> >            *uc++ = *str++;
> >    }
> >
> >if str == "", then the marked line will
> >do new QChar[0]. But what does it return?
> >A test said me, it returns something, but
> >what does it return? Is it defined? I must
> >admit, it's the first time I think about this
> >"problem" :)
> 
> It returns the smallest block possible, 16 bytes. It need to return something,
> to be able to realloc() it lateron.

Hmm, what I've done now is to call malloc(1) when
I get a new(0) as malloc(0) is not allowed.

Greetings, Stephan

-- 
Und sie nannten ihn, wie er selbst unterschrieb -
Den Trojanischen Pferdedieb

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic