abonnement Unibet Coolblue Bitvavo
  vrijdag 26 november 2010 @ 20:49:15 #201
189216 netolk
maar dan andersom
pi_89197521
ik kom er nu achter dat get() helemaal geen error geeft als file minder lang is maar er een waarde van -1 (int) terug geeft, dat kan gewoon in de code dus dan snap ik helemaal niet waarom mn progje flipt..
Beware of the Raping Zebra's
pi_89198559
Kun je de code posten die de file inleest?
  vrijdag 26 november 2010 @ 21:12:14 #203
189216 netolk
maar dan andersom
pi_89199130
quote:
1s.gif Op vrijdag 26 november 2010 21:04 schreef thabit het volgende:
Kun je de code posten die de file inleest?
Tuurlijk maar dat is dus redelijk lang...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include "Game.h"
#include "Error.h"
#include "BitField.h"
#include <fstream>
Game::Game(const char* lvlfile,const char* optfile){ // load from file
/*    _OPTIONS = Options(optfile); */
    
    std::ifstream Read(lvlfile,std::ios::binary);
    if(Read.is_open()){
        BitField::I16 rI16;
        BitField::I32 rI32;
        try{
            /* Lvl Data */        
            /* get demensions of lvl */
            rI16.c0 = Read.get();
            rI16.c1 = Read.get();
            unsigned short _X = *(unsigned short*)(&rI16);
            rI16.c0 = Read.get();
            rI16.c1 = Read.get();
            unsigned short _Y = *(unsigned short*)(&rI16);
            
            /* allocate lvl space */
            Piece data[_X*_Y];
            
            /* get lvl data */
            for(unsigned short y=0; y < _Y; y++){
                for(unsigned short x=0; x < _X; x++){
                    data[y*_X+x].set_Fertile(Read.get());    // evt. de bools van Piece in 1 byte opslaan
                    data[y*_X+x].set_Used(Read.get());
                }
            }
            _LEVEL = Level(_X,_Y,data);
            
            /* Atmosphere Data */
            /* CO2 */
            rI32.c0 = Read.get();
            rI32.c1 = Read.get();
            rI32.c2 = Read.get();
            rI32.c3 = Read.get();
            _ATMOSPHERE.set_CO2(*(unsigned short*)(&rI32));
            /* O2 */
            rI32.c0 = Read.get();
            rI32.c1 = Read.get();
            rI32.c2 = Read.get();
            rI32.c3 = Read.get();
            _ATMOSPHERE.set_O2(*(unsigned short*)(&rI32));
            /* H2O */
            rI32.c0 = Read.get();
            rI32.c1 = Read.get();
            rI32.c2 = Read.get();
            rI32.c3 = Read.get();
            _ATMOSPHERE.set_H2O(*(unsigned short*)(&rI32));
            /* N2 */
            rI32.c0 = Read.get();
            rI32.c1 = Read.get();
            rI32.c2 = Read.get();
            rI32.c3 = Read.get();
            _ATMOSPHERE.set_N2(*(unsigned short*)(&rI32));
            /* NOx */
            rI32.c0 = Read.get();
            rI32.c1 = Read.get();
            rI32.c2 = Read.get();
            rI32.c3 = Read.get();
            _ATMOSPHERE.set_NOX(*(unsigned short*)(&rI32));
            /* O3 */
            rI32.c0 = Read.get();
            rI32.c1 = Read.get();
            rI32.c2 = Read.get();
            rI32.c3 = Read.get();
            _ATMOSPHERE.set_O3(*(unsigned short*)(&rI32));
            
            /* Player */
            rI16.c0 = Read.get();
            rI16.c1 = Read.get();
            unsigned short x = *(unsigned short*)(&rI16);
            rI16.c0 = Read.get();
            rI16.c1 = Read.get();
            unsigned short y = *(unsigned short*)(&rI16);
            _PLAYER = Player(x,y);
        }
        catch(std::ios_base::failure){
            Read.close();
            throw Error("File Corrupted");
        }
        Read.close();
    }
    else
        throw Error("Can't open Lvl File");
}
Beware of the Raping Zebra's
pi_89200770
Tjezus wat een hoop code voor zo'n simpele handeling. Zoiets moet je echt compacter proberen te schrijven, zonder alles tig keer te herhalen. Verder kan ik niet direct zien wat er fout is. Zou natuurlijk ook in dingen als Level, Player en BitField of zo kunnen zitten. Kun je dat ook misschien posten?
  vrijdag 26 november 2010 @ 22:40:54 #205
189216 netolk
maar dan andersom
pi_89205521
quote:
11s.gif Op vrijdag 26 november 2010 21:33 schreef thabit het volgende:
Tjezus wat een hoop code voor zo'n simpele handeling. Zoiets moet je echt compacter proberen te schrijven, zonder alles tig keer te herhalen. Verder kan ik niet direct zien wat er fout is. Zou natuurlijk ook in dingen als Level, Player en BitField of zo kunnen zitten. Kun je dat ook misschien posten?
Ja ik weet het maar omdat het binair is, gebruik ik bitfields om naar unsigned short te kunnen casten... hoe kan je zoiets dan compacter opschrijven??

Bitfield:
1
2
3
4
5
6
7
8
9
10
11
12
namespace BitField{
        struct I16{
            unsigned char c0:8;
            unsigned char c1:8;
        };
        struct I32{
            unsigned char c0:8;
            unsigned char c1:8;
            unsigned char c2:8;
            unsigned char c3:8;
        };
    };

Player: (weet zeker dat dit werkt apart getest)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class Player{
        unsigned short _X,_Y; // location left upper corner of screen
        bool _GAMEOVER;
        
        /* Buildings */
        StockHouse _myStockHouse;
        std::vector<SawMill> _mySawMill;
        std::vector<Quarry> _myQuarry;
        
        public:
            Player();
            Player(unsigned short x,unsigned short y);
            
            ~Player(){}
            
            bool Is_GameOver(){return _GAMEOVER;}
            
            unsigned short get_X(){return _X;}
            unsigned short get_Y(){return _Y;}
            
            void Build(unsigned short x,unsigned short y);
            void Draw(); //Graphics.cpp
    };

Player::Player(unsigned short x,unsigned short y):_X(x),_Y(y){
    _myStockHouse.set_Building(_X+16,_Y+9,0,1); // staat in midden van beeld 16:9 verhouding
    _mySawMill.clear();
    _myQuarry.clear();
}

Level:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Level{
        unsigned short _X,_Y; // map demensions
        Piece *_DATA;
        
        public:
            Level():_X(0),_Y(0),_DATA(0){}
            Level(unsigned short x,unsigned short y,Piece *data):_X(x),_Y(y),_DATA(data){}
            ~Level(){delete[] _DATA; _DATA = 0;}
            
            unsigned short get_X(){return _X;}
            unsigned short get_Y(){return _Y;}
            
            Piece& operator()(unsigned short x,unsigned short y);
            Piece operator()(unsigned short x,unsigned short y) const;
            
    };


[ Bericht 19% gewijzigd door netolk op 26-11-2010 22:42:17 (Class player vergeten) ]
Beware of the Raping Zebra's
pi_89206572
Level is niet goed, je initialiseert een pointer die naar een array verwijst die je na het verlaten van de constructor van Game weggooit. Kortom, die informatie ben je dan gewoon kwijt. Daarbij wordt er in de destructor van Level ook nog een array gedeletet die niet met new is aangemaakt, naar een weggegooide datastructuur verwijst en dus volkomen ongedefineerd is. Ik denk dat het programma wel eens vast zou kunnen lopen bij het uitvoeren van deze destructor.
  vrijdag 26 november 2010 @ 23:07:55 #207
189216 netolk
maar dan andersom
pi_89207060
quote:
1s.gif Op vrijdag 26 november 2010 22:58 schreef thabit het volgende:
Level is niet goed, je initialiseert een pointer die naar een array verwijst die je na het verlaten van de constructor van Game weggooit. Kortom, die informatie ben je dan gewoon kwijt. Daarbij wordt er in de destructor van Level ook nog een array gedeletet die niet met new is aangemaakt, naar een weggegooide datastructuur verwijst en dus volkomen ongedefineerd is. Ik denk dat het programma wel eens vast zou kunnen lopen bij het uitvoeren van deze destructor.
Ow hèhè dat klinkt idd wel logisch, helemaal vergeten dat ik dat aangepast had zonder te kijken of het wel kon...

kan ik het dan zo oplossen?
1
2
3
4
Piece *data;
data = new Piece[_X*_Y];

_LEVEL = Level(_X,_Y,&data);

Want ik kan data niet deleten omdat _DATA (uit level) het zelfde gebruikt toch?
Beware of the Raping Zebra's
pi_89207524
quote:
1s.gif Op vrijdag 26 november 2010 22:40 schreef netolk het volgende:

[..]

Ja ik weet het maar omdat het binair is, gebruik ik bitfields om naar unsigned short te kunnen casten... hoe kan je zoiets dan compacter opschrijven??
Je kan bijvoorbeeld een aparte functie schrijven die als input een fstream& heeft en als output een unsigned short, en ook eentje voor een unsigned long.
  vrijdag 26 november 2010 @ 23:19:14 #209
189216 netolk
maar dan andersom
pi_89207759
quote:
1s.gif Op vrijdag 26 november 2010 23:15 schreef thabit het volgende:

[..]

Je kan bijvoorbeeld een aparte functie schrijven die als input een fstream& heeft en als output een unsigned short, en ook eentje voor een unsigned long.
Maar krijg je dan niet dat je progje het bestand opent,sluit,opent,sluit ect?
Beware of the Raping Zebra's
pi_89208152
quote:
1s.gif Op vrijdag 26 november 2010 23:07 schreef netolk het volgende:

[..]

Ow hèhè dat klinkt idd wel logisch, helemaal vergeten dat ik dat aangepast had zonder te kijken of het wel kon...

kan ik het dan zo oplossen?

[ code verwijderd ]

Want ik kan data niet deleten omdat _DATA (uit level) het zelfde gebruikt toch?
Lijkt me een foutgevoelige oplossing. Ik zou _DATA gewoon als vector<Piece> definieren en geen array Piece data[nogwat] in Game::Game aanmaken (sowieso moet je geen arrays op de stack aanmaken, kun je stack overflows van krijgen), maar ook gewoon als vector definieren (of direct _LEVEL._DATA aanspreken, gaat sneller).
pi_89208205
quote:
1s.gif Op vrijdag 26 november 2010 23:19 schreef netolk het volgende:

[..]

Maar krijg je dan niet dat je progje het bestand opent,sluit,opent,sluit ect?
Nee, je kan dat ding toch geopend houden tot hem niet meer nodig hebt. Die functie die die informatie inleest moet natuurlijk zelf geen bestanden openen en sluiten.
  vrijdag 26 november 2010 @ 23:47:49 #212
189216 netolk
maar dan andersom
pi_89209437
Ja, de oplossing werkt ook niet XD en wil ik het laten werken dan is het idd best wat gekut om voor elkaar te krijgen..

ik had me dat inderdaad ook al bedacht gewoon die Read door geven en dan moet het lukken (hoop ik) in ieder geval hartstikke bedankt voor de hulp
Beware of the Raping Zebra's
pi_89234658
Hoi, ik ben nu een programma (ContextFree heet het, ik ben de commandline aan het debuggen) geschreven in C++ aan het debuggen, omdat hij een 'gdi+ error' gaf (een invalid parameter om precies te zijn). Ik weet dat het programma wel werkt op mijn andere computer, met win vista (hij werkt niet op windows 7). Ik weet nu vrij zeker dat de error in een bepaalde functie voorkomt. Deze functie is gedefinieerd in een header file, maar als ik de header file vervang heeft dit volgens mij weinig zin, omdat de functie zelf zich in een andere file bevindt (toch?). Ik vroeg me af hoe je kan weten in welke file deze functie dan wel zit.
Finally, someone let me out of my cage
  maandag 29 november 2010 @ 11:26:51 #214
189216 netolk
maar dan andersom
pi_89290770
quote:
1s.gif Op zaterdag 27 november 2010 20:11 schreef minibeer het volgende:
Hoi, ik ben nu een programma (ContextFree heet het, ik ben de commandline aan het debuggen) geschreven in C++ aan het debuggen, omdat hij een 'gdi+ error' gaf (een invalid parameter om precies te zijn). Ik weet dat het programma wel werkt op mijn andere computer, met win vista (hij werkt niet op windows 7). Ik weet nu vrij zeker dat de error in een bepaalde functie voorkomt. Deze functie is gedefinieerd in een header file, maar als ik de header file vervang heeft dit volgens mij weinig zin, omdat de functie zelf zich in een andere file bevindt (toch?). Ik vroeg me af hoe je kan weten in welke file deze functie dan wel zit.
Als er in de header file alleen iets staat als
1void function(int par,char* string);
dan word de functie in een ander bestand gedefiniëerd. dan moet je op zoek naar iets als dit:
1
2
3
void function(int par,char* string){
      // code die iets met de parameters doet
}

Ow enne die int par, char* string zijn voorbeeld parameters ze kunnen van alles zijn
Beware of the Raping Zebra's
  maandag 29 november 2010 @ 11:30:34 #215
189216 netolk
maar dan andersom
pi_89290842
quote:
1s.gif Op vrijdag 26 november 2010 23:26 schreef thabit het volgende:

[..]

Nee, je kan dat ding toch geopend houden tot hem niet meer nodig hebt. Die functie die die informatie inleest moet natuurlijk zelf geen bestanden openen en sluiten.
Bedankt man nu is mn code even een stukje overzichtelijker :)
Beware of the Raping Zebra's
pi_89294974
quote:
1s.gif Op maandag 29 november 2010 11:26 schreef netolk het volgende:

[..]

Als er in de header file alleen iets staat als
[ code verwijderd ]

dan word de functie in een ander bestand gedefiniëerd. dan moet je op zoek naar iets als dit:

[ code verwijderd ]

Ow enne die int par, char* string zijn voorbeeld parameters ze kunnen van alles zijn
Beh ik snap er niks van. De maker heeft gereageerd met dit:
quote:
1s.gif Op zondag 28 november 2010 10:40 schreef MtnViewJohn het volgende:
...
The GDI+ png file encoder does not take any encoder parameters. So I was building an encoder parameter structure with zero parameters. This worked fine until Windows 7. With Windows 7 the png encoder fails if you provide an encoder list, even if it has zero elements. Instead you must pass a NULL pointer.
Heh, ik snap het. Ergens werd een functie aangeroepen op deze manier:
1
2
3
    EncoderParameters encoderParameters;
    encoderParameters.Count = 0;
    Status s = saveBM->Save(wpath, &encClsid, &encoderParameters);

Maar dat werkte niet volgens die gast, het moet zo:
1    Status s = saveBM->Save(wpath, &encClsid, NULL);

En nu werkt het :). Al is de commandline application wel bijna 4 keer zo groot als ik hem build op de een of andere manier :(. Maar dat is bijzaak.
Bedankt voor de hulp :).
Finally, someone let me out of my cage
pi_90225633
Ik weet niet hoe moeilijk het is, maar is er iemand die voor mij de source can compilen zodat ik de software zonder al te veel moeite kan gebruiken? Ben bezig met een project waar we van een houten picnictafel een interactieve willen maken, en tracking is dan best relaxt :P

http://sites.google.com/site/tarandeep/fingermouse
  woensdag 22 december 2010 @ 11:30:50 #218
189216 netolk
maar dan andersom
pi_90280557
quote:
1s.gif Op dinsdag 21 december 2010 11:35 schreef Flaccid het volgende:
Ik weet niet hoe moeilijk het is, maar is er iemand die voor mij de source can compilen zodat ik de software zonder al te veel moeite kan gebruiken? Ben bezig met een project waar we van een houten picnictafel een interactieve willen maken, en tracking is dan best relaxt :P

http://sites.google.com/site/tarandeep/fingermouse
De code mist libs ofzo, maar bij compileert het niet zo 1, 2, 3
Beware of the Raping Zebra's
  zondag 2 januari 2011 @ 17:55:45 #219
189216 netolk
maar dan andersom
pi_90753569
Hey ik heb een vraagje, of eigenlijk wil ik bevestiging
bij de volgende code is het toch zo dat myData ook niet meer bestaat na het aanroepen van de destructor via de pointer?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
struct Data{
    unsigned short i;
        Data():i(8){}
        ~Data(){i=0;}
};
int main(){
    Data myData;
    Data *ptr;
    ptr = &myData;
    
    std::cout << "myData: " << myData.i << '\n';
    std::cout << "ptr: " << ptr->i << '\n';
    
    ptr->~Data();
    
    std::cout << "myData: " << myData.i << '\n';
    std::cout << "ptr: " << ptr->i << '\n';
    
    return 0;
}
Beware of the Raping Zebra's
pi_90754943
Het enige wat die destructor doet is myData.i op 0 zetten, verder bestaat myData nog wel gewoon.
  zondag 2 januari 2011 @ 19:01:13 #221
189216 netolk
maar dan andersom
pi_90756396
quote:
1s.gif Op zondag 2 januari 2011 18:26 schreef thabit het volgende:
Het enige wat die destructor doet is myData.i op 0 zetten, verder bestaat myData nog wel gewoon.
ok, is er een manier om hem te verwijderen zonder met scopes te hoeven werken?
Beware of the Raping Zebra's
pi_90757043
quote:
1s.gif Op zondag 2 januari 2011 19:01 schreef netolk het volgende:

[..]

ok, is er een manier om hem te verwijderen zonder met scopes te hoeven werken?
myData op de heap aanmaken ipv. op de stack?
  zondag 2 januari 2011 @ 20:16:15 #223
189216 netolk
maar dan andersom
pi_90759893
quote:
1s.gif Op zondag 2 januari 2011 19:16 schreef TeringHenkie het volgende:

[..]

myData op de heap aanmaken ipv. op de stack?
Ja, dat zou idd kunnen want dan kan ik hem gewoon opruimen met delete toch?
Beware of the Raping Zebra's
pi_90760544
quote:
1s.gif Op zondag 2 januari 2011 20:16 schreef netolk het volgende:

[..]

Ja, dat zou idd kunnen want dan kan ik hem gewoon opruimen met delete toch?
Mits je hem aanmaakt met new. De destructor die je daar hebt is trouwens vrij zinloos: je zet iets op 0 wat je daarna toch weggooit.
  zondag 2 januari 2011 @ 21:28:52 #225
189216 netolk
maar dan andersom
pi_90765418
quote:
1s.gif Op zondag 2 januari 2011 20:27 schreef thabit het volgende:

[..]

Mits je hem aanmaakt met new. De destructor die je daar hebt is trouwens vrij zinloos: je zet iets op 0 wat je daarna toch weggooit.
Ik weet dat de destructor hier zinloos is, dacht in eerste instantie dat ie dan weggegooid werd bij het aanroepen van de destructor maar dat is dus niet zo...

Hoe kan je anders iets op de heap zetten dan?
Beware of the Raping Zebra's
pi_90765548
Met windows.h heb ik een HWND van een andere applicatie. De applicatie heeft een tabel die ik wil uitlezen en gebruiken. Is dat mogelijk (met HWND) of ergens anders mee? Ben nog niet zo lang bezig met c++ en ik heb een aanwijzing nodig naar de goede richting.
  zondag 2 januari 2011 @ 21:31:50 #227
189216 netolk
maar dan andersom
pi_90765661
quote:
1s.gif Op zondag 2 januari 2011 21:30 schreef FastFox91 het volgende:
Met windows.h heb ik een HWND van een andere applicatie. De applicatie heeft een tabel die ik wil uitlezen en gebruiken. Is dat mogelijk (met HWND) of ergens anders mee? Ben nog niet zo lang bezig met c++ en ik heb een aanwijzing nodig naar de goede richting.
Ik weet dat het kan, je hebt programma's die het gehele geheugen dat gebruikt word door een programma kunnen lezen/wijzigen weet alleen niet of het met een HWND kan
Beware of the Raping Zebra's
pi_90766288
quote:
1s.gif Op zondag 2 januari 2011 21:31 schreef netolk het volgende:

[..]

Ik weet dat het kan, je hebt programma's die het gehele geheugen dat gebruikt word door een programma kunnen lezen/wijzigen weet alleen niet of het met een HWND kan
Ik denk dat hij die HWND verkrijgt uit een .dll-etje ofzo, FastFox91 moet even wat specifieker zijn ;)
pi_90766674
quote:
1s.gif Op zondag 2 januari 2011 21:28 schreef netolk het volgende:

[..]

Ik weet dat de destructor hier zinloos is, dacht in eerste instantie dat ie dan weggegooid werd bij het aanroepen van de destructor maar dat is dus niet zo...

Hoe kan je anders iets op de heap zetten dan?
Je kan het bij aanvang van het programma op de heap declareren.
pi_90766728
@TeringHenkie Simpel, of bedoel je dit niet?
1HWND venster = FindWindow( "venster", NULL);
netolk, dat is goed nieuws. :P Heb nou "Window Detective" gevonden. Gelukkig opensource, dus misschien kan ik daar wat van leren, maar denk dat dat nog te moeilijk voor mij is.

[ Bericht 7% gewijzigd door FastFox91 op 02-01-2011 22:02:28 ]
  zondag 2 januari 2011 @ 22:43:23 #231
189216 netolk
maar dan andersom
pi_90770117
quote:
1s.gif Op zondag 2 januari 2011 21:45 schreef thabit het volgende:

[..]

Je kan het bij aanvang van het programma op de heap declareren.
Oe dat klinkt interessant vertel!

Kan ik het dan ook via een pointer verwijderen van de heap?
Beware of the Raping Zebra's
pi_90776346
quote:
1s.gif Op zondag 2 januari 2011 21:46 schreef FastFox91 het volgende:
@TeringHenkie Simpel, of bedoel je dit niet?

[ code verwijderd ]

netolk, dat is goed nieuws. :P Heb nou "Window Detective" gevonden. Gelukkig opensource, dus misschien kan ik daar wat van leren, maar denk dat dat nog te moeilijk voor mij is.
Shared objects/shared memory is denk ik de term die het meeste raakte met wat jij wil.
pi_90776512
quote:
1s.gif Op zondag 2 januari 2011 22:43 schreef netolk het volgende:

[..]

Oe dat klinkt interessant vertel!

Kan ik het dan ook via een pointer verwijderen van de heap?
Gewoon
1
2
3
4
5
6
Bla *schaap = new Bla();

delete schaap;

// EN ALTIJD:
schaap = 0;
  maandag 3 januari 2011 @ 13:37:16 #234
189216 netolk
maar dan andersom
pi_90789845
quote:
1s.gif Op maandag 3 januari 2011 00:41 schreef TeringHenkie het volgende:

[..]

Gewoon

[ code verwijderd ]

joh, alleen werd er gesuggereerd dat het ook zonder new kan...
ten 2e kan je dit niet verwijderen via een pointer...
Beware of the Raping Zebra's
pi_90792986
quote:
1s.gif Op maandag 3 januari 2011 13:37 schreef netolk het volgende:

[..]

joh, alleen werd er gesuggereerd dat het ook zonder new kan...
ten 2e kan je dit niet verwijderen via een pointer...
:?
pi_90793628
Zoiets:
1
2
3
4
5
6
7
class PietjePuk {
...
}; 

PietjePuk a, b(123, 456), c(a);

int main() { ... }
Ik zou dit overigens niet met de hand destructen, de destructors worden automatisch aangeroepen bij het afsluiten van het programmen.
  maandag 3 januari 2011 @ 18:03:20 #237
189216 netolk
maar dan andersom
pi_90802439
quote:
1s.gif Op maandag 3 januari 2011 14:57 schreef thabit het volgende:
Zoiets:

[ code verwijderd ]

Ik zou dit overigens niet met de hand destructen, de destructors worden automatisch aangeroepen bij het afsluiten van het programmen.
Hmm.. tja dat is ook niet echt een oplossing... het gaat om aardig wat objecten die in runtime gemaakt moeten kunnen worden... maar misschien kan ik het met een scope wel maken...
1
2
3
4
5
6
7
8
9
10
class Data{
//blabla
};
int main(){
    {
       Data myData();
      // doe dingen met data
   }
   // dan bestaat myData hier niet meer toch?
}
Het klopt dat myData alleen maar in de binnenste scope (waar het gemaakt word) bestaat toch?

maarja dit is niet zo netjes kan dit ook beter?
Beware of the Raping Zebra's
pi_90802504
quote:
1s.gif Op maandag 3 januari 2011 18:03 schreef netolk het volgende:

[..]

Hmm.. tja dat is ook niet echt een oplossing... het gaat om aardig wat objecten die in runtime gemaakt moeten kunnen worden... maar misschien kan ik het met een scope wel maken...

[ code verwijderd ]

Het klopt dat myData alleen maar in de binnenste scope (waar het gemaakt word) bestaat toch?

maarja dit is niet zo netjes kan dit ook beter?
Yep, alles daarbinnen wordt van de stack geflikkerd na de sluitende haken.
  maandag 3 januari 2011 @ 18:06:13 #239
189216 netolk
maar dan andersom
pi_90802530
quote:
1s.gif Op maandag 3 januari 2011 18:05 schreef TeringHenkie het volgende:

[..]

Yep, alles daarbinnen wordt van de stack geflikkerd na de sluitende haken.
Maar kan dit ook netter?
Het liefst op elk moment van je stack te gooien via een pointer oid.
Beware of the Raping Zebra's
  dinsdag 4 januari 2011 @ 17:11:01 #240
189216 netolk
maar dan andersom
pi_90842131
quote:
1s.gif Op maandag 3 januari 2011 18:06 schreef netolk het volgende:

[..]

Maar kan dit ook netter?
Het liefst op elk moment van je stack te gooien via een pointer oid.
Ik heb iets bedacht als ik die data dingen nu eens gewoon in een vector oid zet en zo nu en dan kijk of ze weg kunnen, is dat iets wat redelijk efficiënt is of word het dan gewoon zo'n chaos?
Beware of the Raping Zebra's
pi_90844803
Gebruik anders de Boost libraries, die hebben shared_ptr's. Daarmee wordt automagisch het object verwijderd zodra de enigste referentie ernaartoe verdwijnt.
pi_90845225
Een andere optie is om geen C++ te gebruiken, maar een taal met ingebouwde garbage collection en op die manier jezelf in de 21ste eeuw te verwelkomen.
pi_90852796
quote:
12s.gif Op dinsdag 4 januari 2011 18:25 schreef thabit het volgende:
Een andere optie is om geen C++ te gebruiken, maar een taal met ingebouwde garbage collection en op die manier jezelf in de 21ste eeuw te verwelkomen.
weg uit dit topic!
de jeugd van tegenwoordig... geen respect meer voor mensen van de oude stempel (8>
Finally, someone let me out of my cage
  dinsdag 4 januari 2011 @ 21:32:26 #244
189216 netolk
maar dan andersom
pi_90855765
quote:
11s.gif Op dinsdag 4 januari 2011 20:43 schreef minibeer het volgende:

[..]

weg uit dit topic!
de jeugd van tegenwoordig... geen respect meer voor mensen van de oude stempel (8>
Hehe zo oud ben ik nou ook weer niet hoor...

minibeer daar in tegen XD

Bedankt voor de reacties ik ga het eerst gewoon even met een vector proberen en als dat chaos word kan ik altijd die boost libs proberen
Beware of the Raping Zebra's
pi_90856039
quote:
12s.gif Op dinsdag 4 januari 2011 18:25 schreef thabit het volgende:
Een andere optie is om geen C++ te gebruiken, maar een taal met ingebouwde garbage collection en op die manier jezelf in de 21ste eeuw te verwelkomen.
Ik onderschrijf dit.

Of je gooit 50 cent naar zon programmeur in ruil voor een programma, hoef je het niet meer zelf te maken
pi_90856456
De grootste designfout van C++ is natuurlijk dat het niet backwards compatible is met C.
pi_90858582
Des te meer C++ 1337 zal blijven
pi_90874350
quote:
1s.gif Op dinsdag 4 januari 2011 22:16 schreef TeringHenkie het volgende:
Des te meer C++ 1337 zal blijven
Ja? Dus dit is 1337? :') Het is eerder troep

1std::map<std::string, std::vector<std::pair<double, std::string> > > list;
  woensdag 5 januari 2011 @ 11:44:17 #249
31101 _Led_
Visje aaien niemand zeggen
pi_90874670
quote:
1s.gif Op woensdag 5 januari 2011 11:36 schreef Thomass het volgende:

[..]

Ja? Dus dit is 1337? :') Het is eerder troep
[ code verwijderd ]

Want in C# kun je niet
1System.Collections.Generic.Dictionary<System.String, System.Collections.Generic.List<System.Collections.Generic.KeyValuePair<double, System.String>>> list
schrijven bedoel je ? ;)
zzz
pi_90877266
Dit is natuurlijk een stuk beter:
1spam = {}
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')