praegune kellaaeg 21.06.2025 18:13:16
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
tanzanite
HV kasutaja

liitunud: 13.05.2006
|
08.06.2008 17:54:30
c++ & new/delete vs factory |
|
|
Probleem selline: vaja tagada objecti "h2vitamine" igasuguste yllatuste (exception, uups, etc) korral ...
A)
new / delete oleks suurep2rane - kuid mul on vaja, et new ei looks uusi objecte vaid tagastaks objekte ainult yhest eelloodud setist ja delete tagastaks need (ilma tegelikult h2vitamata).
Siin aga v2ike probleem - peale new operaatorit lykatakse j2rgmisena k2ima objecti konstructor ... see ei l2he mitte (object oli juba loodud ja mitte just kergekaaluline).
Kui konstruktori/destruktori kutsumisest/effektist kuidagi lahti saaks oleks super ... ega vist pole v6imalik ?
example:
...
class A : ... { ... }
class B : public A {
private:
static B list[...];
public:
B() : A(4096) {} // seda new korral ei v6i kasutada / teostada x_x
void *operator new (...) { return &list[...]; }
void operator delete (...) { ... }
}
|
B)
kasutan mingit wrapper objecti mis vahendab liiklust tegeliku objecti vahet ... mis on t6sine porno (yle 50 operaatori ja funktsiooni ning see laieneb pidevalt)
See t88tab (proovinud veel pole - liiga porno) aga ei istu mulle see variant ... :/
C)
Is there an option c ... like C4?
D)
bastardiseeritud A + B : wrapper klass jagab tegelikku objekti mida saab siis edaspidi inimesekombel kasutada ja wrapper ise lihtsalt m2daneb stackis kuni wrapperi h2vitamiseni.
ideas? options?
|
|
tagasi üles |
|
 |
troglodyte
Kreisi kasutaja

liitunud: 09.08.2002
|
08.06.2008 19:17:49
|
|
|
Sa ei pea dubleerima reaalse objekti kogu interface-i wrapper klassi. C++-s on ju võimalik operator overloadingu abil igasugu trikke teha, sealhulgas ka -> overloadida.
Näiteks võiksid kasutada boost c++ teegist scoped_ptr klassi.
|
|
Kommentaarid: 34 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
34 |
|
tagasi üles |
|
 |
tanzanite
HV kasutaja

liitunud: 13.05.2006
|
08.06.2008 21:56:43
|
|
|
Hm ... pole paha m6te (miks ma ise küll selle peale ei tulnud). Mitte perfektne, but then again - what is :/
Nimelt k2ib enamus suhtlusest objectiga l2bi operaatorite - extra dereference teeb niigi kirju operaatoripudru veelgi kirjumaks. Samas on see seni parim idee ja peaks olema piisav - vaatan / katsetan.
Igaljuhul t2nud!
|
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|