Qt dynamiczna tablica w strukturze c++

0

Witam
Pisze program o algorytmach genetycznych. Aby móc w pelni wykorzystać potencjał jaki drzemie w tej metodzie chciałbym aby to sam użytkownik decydował o tym ile pól w zapisie binarnym ma opisywać danego użytkownika. Tj
struct osobnik{
int tab[];
osobnik *next;
};

jak teraz w funckji głównej zalokować tablice. Powiedzmy że użytkownik podał wartość 6 a więc tablica intów w każdej strukturze ma zawierać 6 elementów.
osobnik *nowy=new osobnik.
Zaimplementowałem nowego osobnika a teraz jak zaimplementować rozmiar tablicy w strukturze i jak później po skończonym programie zwolnić tą pamięc?

0
nowy->tab = new int[6];
...
delete[]nowy->tab;
0

Hej:)) Jeśli C++ to można wykorzystać konstruktor:

struct Osobnik
{
  Osobnik(const int nParams) { params_ = new int[nParams]; nParams_ = nParams; next_ = 0;  }
  ~Osobnik() { delete [] params_; }

  int * params_;
  int nParams_;
  Osobnik * next_;
};
//...
Osobnik o(6);// inicjalizuje wszystkie pola klasy:)
0
pocz napisał(a):

Witam
Pisze program o algorytmach genetycznych. Aby móc w pelni wykorzystać potencjał jaki drzemie w tej metodzie chciałbym aby to sam użytkownik decydował o tym ile pól w zapisie binarnym ma opisywać danego użytkownika. Tj
struct osobnik{
int tab[];
osobnik *next;
};

jak teraz w funckji głównej zalokować tablice. Powiedzmy że użytkownik podał wartość 6 a więc tablica intów w każdej strukturze ma zawierać 6 elementów.
osobnik *nowy=new osobnik.
Zaimplementowałem nowego osobnika a teraz jak zaimplementować rozmiar tablicy w strukturze i jak później po skończonym programie zwolnić tą pamięc?

Chyba opisywać danego osobnika a nie użytkownika :D

class Osobnik {
QVector<int> geny;
double ocena;
// pozostałe pola
Osobnik( /parametry/ ) {
geny.append( gen1 );
geny.append( gen2 );
//...............................
}
};

QVector<Osobnik> populacja;
populacja.append( Osobnik( parametry ) );
populacja.append( Osobnik( parametry ) );
populacja.append( Osobnik( parametry ) );
itd

1 użytkowników online, w tym zalogowanych: 0, gości: 1