/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
::operator new og size_t
Fra : Bear


Dato : 19-06-01 15:26

Hvad er size_t's funktion i new operatoren? Det er en typedef af unsigned
int, men hvordan benyttes den.

Jeg har lavet følgende klasse:
class X
{
public:
X(int x);
~X();
int getValue();
void* operator new(size_t size);
private:
int value;
};

X::X(int x) : value(x){cout << "Alive X: " << x << endl;}
X:X() {cout << "Died X: " << value << endl;}
int X::getValue() { return value; }

void* X:erator new(size_t size)
{
void* temp = malloc(size);
return temp;
}

int main(){
X* x = new X(8);
}

Det er vel størrelsen af objektet af X som skal malloc'es, men hvorfra får
den parameteren til new operatoren?
--
mvh

Bear

ICQ: 2745075



 
 
Mogens Hansen (19-06-2001)
Kommentar
Fra : Mogens Hansen


Dato : 19-06-01 19:51

>
> Det er vel størrelsen af objektet af X som skal malloc'es, men hvorfra får
> den parameteren til new operatoren?

Compileren beregner den - bl.a. ud fra hvilke datamedlemmer klassen har, om
der er virtuelle metoder, hvilke basis-klasser der er og hvilken alignment
compileren er sat op til.

Venlig hilsen

Mogens Hansen



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste