játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5441
FZoli:    4892
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2519

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2186
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1625
syam:    1491
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [40] [45] [50] [55] > 60 < [65] [70] [75] [80] [85] [90] [95] [100] [105] [110] [115] [120] [125] [130] [135] [140] [141]
bit.0x8000 - Törzstag | 574 hsz       Online status #125399   2010.01.02 12:47 GMT+1 óra  
Idézet
Asylum :
Beolvasnám egy bufferbe ugyanigy aztán végigiternálék rajta. Gyorsabb mindenképpen.
Asszem a flex meg a bison parserek is igy csinálják (csak nem egyszerre az egészet).



A konkrét példában az jelenti a gondot, hogy csak a tömörített fájl méretét tudod előre, azt nem, hogy kitömörítve mennyi helyet foglal majd...
   
Asylum - Törzstag | 5441 hsz       Online status #125396   2010.01.02 12:37 GMT+1 óra  
Beolvasnám egy bufferbe ugyanigy aztán végigiternálék rajta. Gyorsabb mindenképpen.
Asszem a flex meg a bison parserek is igy csinálják (csak nem egyszerre az egészet).

szerk.: söt ha van a fájlformátumnak headere akkor csak annyit olvasnék be.

Ezt a hozzászólást Asylum módosította (2010.01.02 12:46 GMT+1 óra, ---)
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
bit.0x8000 - Törzstag | 574 hsz       Online status #125395   2010.01.02 12:35 GMT+1 óra  
Idézet
Asylum :
Szó nincs itt zippelt fájlról vagy akármi másról ami karakterenkénti olvasást igényelne.



Nem írtam, hogy volt, csak kíváncsi lettem volna, hogy azt hogyan oldanád meg. No mindegy...
   
svn - Tag | 92 hsz       Online status #125393   2010.01.02 12:28 GMT+1 óra  
Én nem mondtam, hogy karakterenként. Csak azt, hogy olvasd be fstream-el. Esetleg seekelj benne.
bőgtem bazdmeg, mint carlos szokott amikor nem kap rózsaszín nyalókát a boltban... by Admiral Pecek
   
Asylum - Törzstag | 5441 hsz       Online status #125392   2010.01.02 12:26 GMT+1 óra  
Már megvan mit irtam el.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
svn - Tag | 92 hsz       Online status #125391   2010.01.02 12:26 GMT+1 óra  
Jah igen, és ha mutatnál egy kódrészletet az sokat segítene, hogy megmondjuk mit írtál el benne.

Igen és újra felteszem a kérdést, 3 gigás file-val mit teszel? (ott már a seek nem működik)
bőgtem bazdmeg, mint carlos szokott amikor nem kap rózsaszín nyalókát a boltban... by Admiral Pecek
   
Asylum - Törzstag | 5441 hsz       Online status #125390   2010.01.02 12:26 GMT+1 óra  
Idézet
bit.0x8000 :
Ez így barátságos, most ugyanezt gzip-pelt fájlból (mondjuk zlib-bel) ?



Ember olvasd már el a problémát:

"My goal is to efficiently read a file into a c++ string, discarding
newlines"

Szó nincs itt zippelt fájlról vagy akármi másról ami karakterenkénti olvasást igényelne.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
bit.0x8000 - Törzstag | 574 hsz       Online status #125388   2010.01.02 12:22 GMT+1 óra  
Idézet
Asylum :
vicctopic folyt:

Kód:
std::ifstream f(dest.c_str());

f.seekg(0, std::ios::end);
int length = f.tellg();
f.seekg(0, std::ios::beg);

std::string str;
str.resize(length + 1, '\0');

f.read(&str[0], length);




Ez így barátságos, most ugyanezt gzip-pelt fájlból (mondjuk zlib-bel) ?

Idézet
Asylum :
Kérdezni meg azt akarom hogy tapasztaltatok már olyat, hogy kiirtatok fájlba egy buffert és nem csak a buffert irta ki hanem még mögé egy csomo szemetet is?



A buffer maga hogy nézett ki?
   
svn - Tag | 92 hsz       Online status #125387   2010.01.02 12:21 GMT+1 óra  
Akkor valamit félreértesz / félreírsz a rendszerben. Az fstream jól írja ki a cuccokat, ha jól adod meg a méreteket.
bőgtem bazdmeg, mint carlos szokott amikor nem kap rózsaszín nyalókát a boltban... by Admiral Pecek
   
Asylum - Törzstag | 5441 hsz       Online status #125386   2010.01.02 12:19 GMT+1 óra  
Nincs rosszul megadva az tuti.

szerk.: nehogymá egy 3 gigás fájlt karakterenként olvass...ennyire nem lehetsz marha.
szerk2.: asszem már tudom mi a hiba, persze változik a mérete.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
svn - Tag | 92 hsz       Online status #125385   2010.01.02 12:19 GMT+1 óra  
Mi történik ezzel, ha 3 gigás a fájlod?

A kérdésre a válasz, nálad van valószínűleg a hiba. Rosszul van megadva egy bufferméret...
bőgtem bazdmeg, mint carlos szokott amikor nem kap rózsaszín nyalókát a boltban... by Admiral Pecek
   
Asylum - Törzstag | 5441 hsz       Online status #125383   2010.01.02 12:15 GMT+1 óra  
vicctopic folyt:

Kód:
std::ifstream f(dest.c_str());

f.seekg(0, std::ios::end);
int length = f.tellg();
f.seekg(0, std::ios::beg);

std::string str;
str.resize(length + 1, '\0');

f.read(&str[0], length);



Kérdezni meg azt akarom hogy tapasztaltatok már olyat, hogy kiirtatok fájlba egy buffert és nem csak a buffert irta ki hanem még mögé egy csomo szemetet is?
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
bit.0x8000 - Törzstag | 574 hsz       Online status #125229   2009.12.31 17:36 GMT+1 óra  
Idézet
TheProGamer :
Ha jól rémlik akkor valahogy úgy volt ez definiálva hogy a program jó inputokra jó outputokat állítson elő, és a futása fejeződjön be valamikor.



Majd ha egyszer 3D grafika programozására adom a fejem, előszeretettel fogom ezt a mondatot (és főleg az utolsó részét) hangoztatni.

szerk: Ok, én a kódoláshoz (is) viszonylag intuitívan állok hozzá, szóval az elméleti hátteret illetően valószínűleg nektek van igazatok.

písz
   
bit.0x8000 - Törzstag | 574 hsz       Online status #125228   2009.12.31 17:30 GMT+1 óra  
Idézet
Asylum :
Ez hogy ennyi nap mulva be fog ez következni lényegtelen mert például biztos lesz addig áramszünet.



Ennyi idő alatt atom/vegyi/hagyományos/c++ apokalipszis is lesz valószínűleg, szóval tényleg lényegtelen.
   
Asylum - Törzstag | 5441 hsz       Online status #125225   2009.12.31 17:13 GMT+1 óra  
Az egyetlen dolog amire pp-böl emléxem az a mindig igaz és az invariáns közti különbség.
A mindig igaz az ugyebár mindig igaz, viszont az invariáns akkor is igaz amikor a mindig igaz nem!
És ez baromi fontos, általában arra törekednek az ilyen biztonságkritikus programoknál, hogy invariánst találjanak.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
TPG - Tag | 3402 hsz       Online status #125224   2009.12.31 17:10 GMT+1 óra  
Idézet
Asylum :
Ennél azért kicsit több...az is benne van, hogy amikor ELVILEG valami rosszat csinálna akkor se történjen katasztrófa. Erre ki van már dolgozva egy modell, sőt a helyességbizonyitásra is, csak azt a részt pont nem tanultam meg XD


Nah nálunk ilyenről nem volt szó, az az opció nem létezett hogy a vizsgált program elvileg rosszat csinál. Tantóbácsi nekiállt matematikailag levezetni hogy a kód helyes-e, ha nem akkor nem, ha igen akkor meg nem kellett azzal foglalkozni hogy rosszat csinálhat, mert pont azt látta be hogy ilyen nem következhet be, sehogy és soha. Erre volt valami konkrét matematikai módszer, de csesztem anno én is megtanulni.
Reality is almost always wrong. - House

   
Asylum - Törzstag | 5441 hsz       Online status #125223   2009.12.31 17:07 GMT+1 óra  
Van egy ilyen fogalom, hogy absztrakció. Ez arról szól, hogy a lényegtelen részeket elhagyod, és csak a lényegeseket tartod meg. Ez hogy ennyi nap mulva be fog ez következni lényegtelen mert például biztos lesz addig áramszünet. Vagy lehal a szerver, vagy akármi, ezért ezt nem kell hozzávenni a modellhez.
Ha meg mégis akkor modnjuk havonta egy szerver reset és kész.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
bit.0x8000 - Törzstag | 574 hsz       Online status #125221   2009.12.31 17:04 GMT+1 óra  
Idézet
Asylum :
A forditó pedig önmagában nem tudja bizonyítani a program helyességét, hogyan is tudná... Helyesség alatt nem a szintaktikai helyességet értik, hanem a szemantikait...az meg eléggé más tészta.



Ebben mondjuk egyetértek veled, viszont a szemantika meg lehet környezetfüggő.
Egy egyszerű példa: vegyünk egy időzítőt, ami a program indulása óta eltelt milliszekundumokat adja vissza 64 bites előjel nélküli egészként. Ekkor (ha nem ellenőrzöm ezt az értéket) 213503982334,60129184 nap múlva (ha jól számoltam) be fog következni egy túlcsordulás. Ez egy elvi hiba - de hány felhasználót fog érinteni a gyakorlatban?
   
Asylum - Törzstag | 5441 hsz       Online status #125220   2009.12.31 17:03 GMT+1 óra  
Ennél azért kicsit több...az is benne van, hogy amikor ELVILEG valami rosszat csinálna akkor se történjen katasztrófa. Erre ki van már dolgozva egy modell, sőt a helyességbizonyitásra is, csak azt a részt pont nem tanultam meg XD
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
TPG - Tag | 3402 hsz       Online status #125218   2009.12.31 16:52 GMT+1 óra  
Idézet
bit.0x8000 :
Idézet
Asylum :
Az az érdekes, hogy egy program helyességét hogyan lehet bizonyitani.



Van erre egy kézenfekvő eszköz, úgy hívják: fordító. Persze az már nyelvfüggő, hogy mi fog lefordulni: Assembly-ben mindenféle baromság lefordul, viszont van olyan nyelv is ami nagyon "finnyás" (talán az Ada, de erre nem emlékszem pontosan, valaki javítsa plz.).


A fordító nem bizonyítja be hogy a program helyes, csak annyit bizonyít hogy szintaktikailag helyes ha le tudja fordítani. De a szemantikai helyességre nézve nem garantál semmit, márpedig ez is feltétele a program helyességének. (Ha jól rémlik akkor valahogy úgy volt ez definiálva hogy a program jó inputokra jó outputokat állítson elő, és a futása fejeződjön be valamikor.)

Szerk: Asy megelőzött.
Reality is almost always wrong. - House

   
Asylum - Törzstag | 5441 hsz       Online status #125217   2009.12.31 16:45 GMT+1 óra  
Adában vannak extrém dolgok igen. pl. két különbözö méretü tömb nem adható értékül egymásnak, stb. Az egy nagyon erösen tipusos nyelv vagy nemtom hogy mondjam
Azért ez a néhány if még mindig gyorsabb mint egy managed kód.

A forditó pedig önmagában nem tudja bizonyítani a program helyességét, hogyan is tudná... Helyesség alatt nem a szintaktikai helyességet értik, hanem a szemantikait...az meg eléggé más tészta.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
bit.0x8000 - Törzstag | 574 hsz       Online status #125215   2009.12.31 16:32 GMT+1 óra  
Idézet
Asylum :
Vannak esetek amikor bizony a hülyebiztosság előbbrevaló.



És ilyenkor kell bizony inkább a managed környezeteket használni.

Idézet
Asylum :
Az az érdekes, hogy egy program helyességét hogyan lehet bizonyitani.



Van erre egy kézenfekvő eszköz, úgy hívják: fordító. Persze az már nyelvfüggő, hogy mi fog lefordulni: Assembly-ben mindenféle baromság lefordul, viszont van olyan nyelv is ami nagyon "finnyás" (talán az Ada, de erre nem emlékszem pontosan, valaki javítsa plz.).
   
svn - Tag | 92 hsz       Online status #125213   2009.12.31 15:52 GMT+1 óra  
Milyen esetekre gondolsz? Per pillanat most c++-ról van szó. Milyen olyan c++ kóder van aki véletlen saját magával tesz egyelővé objektumot?

Itt persze a tiszta kódról van szó, ha valamilyen tárolóban rohangálsz, vagy mapben, nodegraphban, ott nyilván vannak ilyen ellenőrzések, de az már nem az az eset mikor véletlen elírsz valamit.

Amúgy amire te gondolsz, arra talán a unit testing alkalmas.

De őszintén, ha valaki pontatlanul kódol, nehogymár az API író felelőssége legyen a hibaellenőrzés. (maya, mental ray olyan értelmezhetetlen hibákat dob, hogy azt szép nézni... persze nulla exceptionnal mert a sebesség az első... és annyit látsz, hogy az egész programod megszűnik létezni, de még sorolhatnám tovább... de uez igaz gl-re, cl-re, dx-re stb...)
bőgtem bazdmeg, mint carlos szokott amikor nem kap rózsaszín nyalókát a boltban... by Admiral Pecek
   
Asylum - Törzstag | 5441 hsz       Online status #125212   2009.12.31 15:34 GMT+1 óra  
Vannak esetek amikor bizony a hülyebiztosság előbbrevaló.
Persze ez konkrétan nem az volt (vertex stb.).

Az az érdekes, hogy egy program helyességét hogyan lehet bizonyitani. Gondolom c++ ban is vannak erre eszközök, más nyelvekben nyelvi szinten is van.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
svn - Tag | 92 hsz       Online status #125211   2009.12.31 15:33 GMT+1 óra  
Jó de érted mi a bajom vele. Véletlen ottmarad egy kódrész . Szal az már a programozó felelőssége.

El lehet dönteni, hogy hülyebiztos vagy hatékony kódot írunk. Ha már c++ akkor az utóbbi .
bőgtem bazdmeg, mint carlos szokott amikor nem kap rózsaszín nyalókát a boltban... by Admiral Pecek
   
Asylum - Törzstag | 5441 hsz       Online status #125204   2009.12.31 14:43 GMT+1 óra  
Írtam egy példát, lehet hogy elsö ránézésre igazol engem, kicsit már álmos vagyok. Azért nézd meg. Nyilván tipikusan olyan kód amilyet egy normális programozó nem ír (amennyiben észreveszi a hibáját).

Kód:
class Banan
{
public:
    int b;

    Banan() {}
    Banan(const Banan& other) { b = other.b; }
};

class Alma
{
public:
    Banan* banan;

    Alma() { banan = NULL; }
    Alma(Banan& banan) { this->banan = &banan; }

    Alma& operator=(const Alma& other)
    {
        banan = new Banan(*other.banan);
        return *this;
    }
};

int main()
{
    Banan b;
    b.b = 5;

    Alma a(b), c;

    std::cout << a.banan->b << "\n"; // 5; ok
    b.b = 10;
    std::cout << a.banan->b << "\n"; // 10; ok a b-re mutat

    c = a; // uj másolat készül
    a = a; // !!! itt most látni, de ha nem látod?...
    b.b = 20;

    std::cout << c.banan->b << "\n"; // 10; ok uj másolat lett
    std::cout << a.banan->b << "\n"; // 10; NEM ok! már nem b-re mutat

    system("pause");
    return 0;
}
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
svn - Tag | 92 hsz       Online status #125203   2009.12.31 14:25 GMT+1 óra  
Nem idegesít.
bőgtem bazdmeg, mint carlos szokott amikor nem kap rózsaszín nyalókát a boltban... by Admiral Pecek
   
Asylum - Törzstag | 5441 hsz       Online status #125202   2009.12.31 14:12 GMT+1 óra  
Tudom, csak azért irom, mert tudom, hogy idegesit
A minőséget meg sok tényező befolyásolja...

szerk.: most hogy kérdezed...télleg ki tanitotta nekem ezt a faszságot...általában énis a hatékonyságot tartom szem előtt. Valószínüleg ez egy ilyen beidegzödés, de azért nem akarom lehülyézni azt aki tanitotta. Valószinüleg meg tudná indokolni.

Ezt a hozzászólást Asylum módosította (2009.12.31 14:23 GMT+1 óra, ---)
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
svn - Tag | 92 hsz       Online status #125201   2009.12.31 14:07 GMT+1 óra  
Debug : Ritkán van rá szükségem. Jó minőségű kódot írok. De ha kell használom. Csak sokszor olyan környezetben dolgozom ahol nincs rá lehetőség, így kénytelen vagyok atombiztos kódot írni elsőre is.

Nyuszkó : hanyagold az ilyen stílust, nem illik hozzád. (és nem is illik ehez a fórumhoz, úgyhogy tartsuk normális keretek között a társalgást)

Tanulni : Stroustrup c++ referenciájából tanultam kódolni. (plusz tervezési minták, kódolási szabályok, pár ilyen alapmű)
bőgtem bazdmeg, mint carlos szokott amikor nem kap rózsaszín nyalókát a boltban... by Admiral Pecek
   
Asylum - Törzstag | 5441 hsz       Online status #125200   2009.12.31 13:59 GMT+1 óra  
Engem senki Ez a különbség köztünk.
Te talán nem szoktál debugolni nyuszkó?
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
svn - Tag | 92 hsz       Online status #125199   2009.12.31 13:57 GMT+1 óra  
Idézet
Asylum :
Mellesleg az is egy szempont, hogy ha nem vektorokról van szó, hanem valami extrémebb objektumról aminél igen költséges a másolás akkor már bőven megéri egy összehasonlitást beleiktatni.



Debug mód és futási költség? Ki tanított téged programozni? Ebből a mondatból eléggé az következik, hogy te release-ben is nézed az egyenlőséget.

(A többieknek, debug módban nem érdekel minket a sebesség.)
bőgtem bazdmeg, mint carlos szokott amikor nem kap rózsaszín nyalókát a boltban... by Admiral Pecek
   
Asylum - Törzstag | 5441 hsz       Online status #125198   2009.12.31 13:55 GMT+1 óra  
Mondtam: #ifdef _BEDUG

"felesleges faszverés" Ez is bekerül az "elméleti faszverés" mellé.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Asylum - Törzstag | 5441 hsz       Online status #125197   2009.12.31 13:55 GMT+1 óra  
Mondtam: #ifdef _BEDUG

"felesleges faszverés" Ez is bekerül az "elméleti faszverés" mellé.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
svn - Tag | 92 hsz       Online status #125196   2009.12.31 13:51 GMT+1 óra  
Nem, ezt úgy hívják : felesleges faszverés.

Egy millió esetben van egy extra másolást. Ehelyett mindig csinálsz ellenőrzést, hogy egy esetben gyorsabb legyen. Zseniális! (értsd normálisan működő program esetén. Lehet ez a te életedből maradt ki)
bőgtem bazdmeg, mint carlos szokott amikor nem kap rózsaszín nyalókát a boltban... by Admiral Pecek
   
Asylum - Törzstag | 5441 hsz       Online status #125195   2009.12.31 13:43 GMT+1 óra  
A tiedben lehet, másba nem biztos. Nem feltétlenül csak matekos fvekre kell gondolni.
Ezt egyébként úgy hivják, hogy programhelyesség, nyilván ez neked kimaradt az életedből (én viszont direkt szarom le ),

Mellesleg az is egy szempont, hogy ha nem vektorokról van szó, hanem valami extrémebb objektumról aminél igen költséges a másolás akkor már bőven megéri egy összehasonlitást beleiktatni.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
svn - Tag | 92 hsz       Online status #125194   2009.12.31 13:11 GMT+1 óra  
Mert általában ilyen függvényeknél mindkét bejövő paraméter const &. Ha csak sima & akkor persze változhat. De mivel egységes matek lib van a frameworkömben, így tudom milyen konvenciókat használok... És ilyen hülyeségeket nem művelek.

Ezért írtam, hogy normális használat közben. Lehet hülyebiztos libet írni, de teljesen felesleges.
bőgtem bazdmeg, mint carlos szokott amikor nem kap rózsaszín nyalókát a boltban... by Admiral Pecek
   
Asylum - Törzstag | 5441 hsz       Online status #125193   2009.12.31 13:05 GMT+1 óra  
Jó adok példát:

Kód:
a = Vector::Add(a, b);


Honnan tudod hogyan van definiálva az Add? Lehet hogy az összeget adja vissza, lehet, hogy a-hoz hozzáadja b-t és visszaadja a-t. Ha buta példának tünik akkor Add helyett legyen xyz->wvu().abcd()->fgh(a, b);
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Asylum - Törzstag | 5441 hsz       Online status #125192   2009.12.31 12:58 GMT+1 óra  
Nekem nem barátom. Legalábbis a default nem. A saját az már igen.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
svn - Tag | 92 hsz       Online status #125191   2009.12.31 12:56 GMT+1 óra  
Egyébként meg az assert a barátod...

Mondj olyan esetet amikor normál, átlagos használat közben szükség van az esetvizsgálatra, és igazat adok neked. (most az egyszer kivételesen)
bőgtem bazdmeg, mint carlos szokott amikor nem kap rózsaszín nyalókát a boltban... by Admiral Pecek
   
Asylum - Törzstag | 5441 hsz       Online status #125190   2009.12.31 12:54 GMT+1 óra  
Vagy csak azt hiszed, hogy különbözö

egyébként meg #ifdef _DEBUG a barátod.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
svn - Tag | 92 hsz       Online status #125189   2009.12.31 12:44 GMT+1 óra  
Tökéletesen felesleges ilyen esetben összehasonlítani, mivel az esetek 99.99%-ban különböző.
bőgtem bazdmeg, mint carlos szokott amikor nem kap rózsaszín nyalókát a boltban... by Admiral Pecek
   
Asylum - Törzstag | 5441 hsz       Online status #125187   2009.12.31 12:35 GMT+1 óra  
Még annyi, hogy az a = a -t elkerülendö egy összehasonlitás nem árt. Többnyire igy nézne ki normálisan egy értékadó operátor:

Kód:
Vertex& Vertex::operator= (const Vertex& other)
{
    if( &other == this )
        return *this;

    x = other.x;
    // blabla

    return *this;
}


Copy konstruktornál ezzel nyilván nem kell foglalkozni.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Joga - Törzstag | 1791 hsz       Online status #125186   2009.12.31 12:18 GMT+1 óra  
Köszönöm, működik
(ಠ ›ಠ) Stewie!

   
svn - Tag | 92 hsz       Online status #125185   2009.12.31 11:58 GMT+1 óra  
Első körben.

Operator=,+= stb referenciát adjon vissza, ne másolatot.

Jah és az operator const Vertex& várjon, ne vertexet mert fölöslegesen lemásolódik...

Másodszorra, nincs megírva a copy konstruktor azért kapsz ilyen hibát.
bőgtem bazdmeg, mint carlos szokott amikor nem kap rózsaszín nyalókát a boltban... by Admiral Pecek
   
Joga - Törzstag | 1791 hsz       Online status #125183   2009.12.31 11:46 GMT+1 óra  
Szilveszteri különkiadás!

Van egy vertex osztályom, amelynek 3 float adattagja van( x, y, z )
Az egyik konstruktora( van pár ) így néz ki:
Kód:
Vertex::Vertex( float x, float y, float z ){

    coordX = x;
    coordY = y;
    coordZ = z;

}

Az egyenlőségjel így van túlterhelve ( +=, -=, stb hasonlóképpen )
Kód:
Vertex Vertex::operator=( Vertex v ){

    coordX = v.coordX;
    coordY = v.coordY;
    coordZ = v.coordZ;
    return *this;

}

Namármost, hogy valami egyszerű kis vertexet csináljak példány deklarálása nélkül, csináltam egy statikus függvényt, ami létrehoz egy vertexet, és visszaadja:
Kód:
Vertex Vertex::Make( float x, float y, float z ){

    Vertex a( x, y, z );
    return a;

}


Nah, most van egy Vertex példányom pos néven, de a
Kód:
    pos = Vertex::Make( a, b, c );

parancsra ezeket dobja a Code::Blocks:
Kód:
D:\MY PROGRAMS\ModelDemo\camera.cpp|30|error: no matching function for call to `Vertex::Vertex(Vertex)'|
D:\MY PROGRAMS\ModelDemo\vertex.h|39|note: candidates are: Vertex::Vertex(float)|
D:\MY PROGRAMS\ModelDemo\vertex.h|38|note:                 Vertex::Vertex(Vertex&)|
D:\MY PROGRAMS\ModelDemo\camera.cpp|30|error:   initializing argument 1 of `Vertex Vertex::operator=(Vertex)'|
||=== Build finished: 2 errors, 0 warnings ===|

( A többi hasonló -=, +=, stb operátorra ugyanezt dobja )

ui.: Na meg ha valami baromságot csináltam, amit nem úgy szokás, stb, akkor írjátok le
(ಠ ›ಠ) Stewie!

   
Wolfee - Törzstag | 1336 hsz       Online status #124594   2009.12.22 01:49 GMT+1 óra  
én nem akarok hisztisnek lenni, de sír-szagot érzek...
FZoli jóváhagyásával XD

   
svn - Tag | 92 hsz       Online status #124591   2009.12.22 01:01 GMT+1 óra  
Ne erts felre, nem akartam eldonteni, csak vannak bizonyos konvenciok amiket erdemes, es hatekony betartani (pl makrok helyett templatek ahol csak lehet es igy tovabb). Mindnek megvan az oka es ertelme, nem veletlen alakitottak ki ugy a c++ nyelvet, ahogyan.

Es mivel ez a c++ topic, gondolom illik olyan stilusban is tanacsot adni. De persze, lehet c stilusban is c++-t programozni, csak sok ertelme nincsen. De ha ez kell, hajra.
bőgtem bazdmeg, mint carlos szokott amikor nem kap rózsaszín nyalókát a boltban... by Admiral Pecek
   
kicsy - Szerkesztő | 4304 hsz       Online status #124569   2009.12.21 10:35 GMT+1 óra  
Ne te döntsd már el miről lehet beszélni.
kicsy ● SilentVertigo Team - project Solarah
http://blog.yscik.com
   
Asylum - Törzstag | 5441 hsz       Online status #124568   2009.12.21 10:35 GMT+1 óra  
A stílus nem a nyelvtől függ hanem a programozótól.
A C pedig része a C++ -nak.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
svn - Tag | 92 hsz       Online status #124566   2009.12.21 09:05 GMT+1 óra  
Idézet
Asylum :
Aki nem ért hozzá az ne használja. A többiek meg majd eldöntik. Jólvan?



Csak c++ topicban c++ stilusrol kellene beszelni. Nem c-rol. Deh mindegy. Hagyjuk.
bőgtem bazdmeg, mint carlos szokott amikor nem kap rózsaszín nyalókát a boltban... by Admiral Pecek
   
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [40] [45] [50] [55] > 60 < [65] [70] [75] [80] [85] [90] [95] [100] [105] [110] [115] [120] [125] [130] [135] [140] [141]