/ 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
kan footprint af c++ objekt ændre størrels~
Fra : Kim Schulz


Dato : 19-10-04 20:11

hejsa
jeg sidder lige og overvejer om det på nogen måde er muligt at et
objekts footprint ændrer størrelse.
Objektets data skal flyttes over et netværk (frem og tilbage) og det er
derfor vigtigt for mig at vide om det kan ændre størrelse på nogen måde
(hvis en af parterne på nettet har invoked en metode i klassen og derved
ændret på data i objektet.


--
Kim Schulz | Keen of Fundanemt? Want to share experieces with
Geek by nature | other users? join The Fundanemt User Group NOW!
schulz.dk | http://www.fundausers.org

 
 
Mogens Hansen (19-10-2004)
Kommentar
Fra : Mogens Hansen


Dato : 19-10-04 20:40

>
> "Kim Schulz" <kim@schulz.dk> wrote in message
> news:20041019211034.704b679a@lifesuckz.nork.auc.dk...
> hejsa
> jeg sidder lige og overvejer om det på nogen måde er muligt at et
> objekts footprint ændrer størrelse.

Det kommer an på hvordan du opfatter et objekts footprint.
For eet givet, gyldigt program vil sizeof(T) være konstant i hele
programmet - det følger af one-defintion rule.

Det betyder dog ikke at et objekts hukommelsesforbrug er konstant.
Det er åbenlyst at selvom "sizeof(std::string)" er konstant i et program,
vil objektets hukommelsesforbrug kunne afhænge af dets værdi (teksten).

Det gælder også at sizeof(T) kan variere på tværs af programmer.
Det afhænger bl.a. compiler options, hardware arkitektur (f.eks. pga. krav
til alignment og størrelse af pointere og int) og bibliotek.
F.eks. kan std::string være implementeret vidt forskelligt på 2 forskellige
platforme, og dermed fylde vidt forskelligt.

> Objektets data skal flyttes over et netværk (frem og tilbage) og det er
> derfor vigtigt for mig at vide om det kan ændre størrelse på nogen måde
> (hvis en af parterne på nettet har invoked en metode i klassen og derved
> ændret på data i objektet.

Den samlede mængde data, der udgør et objekt kan ændre størrelse.

Venlig hilsen

Mogens Hansen



Kim Schulz (19-10-2004)
Kommentar
Fra : Kim Schulz


Dato : 19-10-04 21:17

On Tue, 19 Oct 2004 21:39:56 +0200
"Mogens Hansen" <mogens_h@dk-online.dk> wrote:

> >
> > "Kim Schulz" <kim@schulz.dk> wrote in message
> > news:20041019211034.704b679a@lifesuckz.nork.auc.dk...
> > hejsa
> > jeg sidder lige og overvejer om det på nogen måde er muligt at et
> > objekts footprint ændrer størrelse.
>
> Det kommer an på hvordan du opfatter et objekts footprint.
> For eet givet, gyldigt program vil sizeof(T) være konstant i hele
> programmet - det følger af one-defintion rule.

Den mængde data som kan repræsentere den data som et objekt indeholder



> Det betyder dog ikke at et objekts hukommelsesforbrug er konstant.
> Det er åbenlyst at selvom "sizeof(std::string)" er konstant i et
> program, vil objektets hukommelsesforbrug kunne afhænge af dets værdi
> (teksten).

dvs. at hvis jeg i mit objekt har en string og så denne bliver ændret
fra "hello world" til "hello beautiful world", så vil mit objekt som
strengen ligger inde i ændre størrelse?


> Det gælder også at sizeof(T) kan variere på tværs af programmer.
> Det afhænger bl.a. compiler options, hardware arkitektur (f.eks. pga.
> krav til alignment og størrelse af pointere og int) og bibliotek.
> F.eks. kan std::string være implementeret vidt forskelligt på 2
> forskellige platforme, og dermed fylde vidt forskelligt.

Samme compiler, platform og compiler options på alle maskiner vi
benytter.


> > Objektets data skal flyttes over et netværk (frem og tilbage) og det
> > er derfor vigtigt for mig at vide om det kan ændre størrelse på
> > nogen måde(hvis en af parterne på nettet har invoked en metode i
> > klassen og derved ændret på data i objektet.
>
> Den samlede mængde data, der udgør et objekt kan ændre størrelse.

ok.


--
Kim Schulz | Fundanemt Content Management system:
Geek by nature | http://www.fundanemt.com
schulz.dk | http://www.fundusers.org

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408176
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste