rekordy o stałej długości C++

0

Mam do zaimplementowania w C++ bufor cykliczny dla rekordów o stałej długości. Można przyjąć dowolną długość, dla ułatwienia np napis o długości 4 i liczbę typu int. O ile sama idea bufora cyklicznego i jego napisanie np dla samych intów nie sprawia mi problemu, to nie do końca wiem jak umożliwić buforowi używanie dwóch typów. Klasa, struktura? Chodzi też o to, żeby łatwo dało się napisać program testujący bufor.

0

Typy generyczne, tablica wskaźników na void.

0

może struktura danych taka jak krotka będzie dobra?: http://pl.wikipedia.org/wiki/Krotka_(struktura_danych)

0

Myślę i myślę, może opakować to w strukturę, zrobić tablicę struktur, a potem przy testowaniu z puli napisów i intów wrzucać losowo do struktury albo int albo string (druga wartość zostaje nieuzupełniona).

0

Unia?

0
struct Record
  {
   enum { rtString,rtInt,rtDouble } Type;
   union
      {
       char SValue[8];
       int IValue;
       double DValue;
      };
  } Cycle[100];
0

Nie wiem czy dobrze rozumiem problem...ale możesz napisać coś w ten deseń:

template <typename T, typename U, unsigned N = 4> 
struct TRecord {
    union {
	T FValue[N];
	U SValue;
    };
}
0
_13th_Dragon napisał(a):
struct Record
  {
   enum { rtString,rtInt,rtDouble } Type;
   union
      {
       char SValue[8];
       int IValue;
       double DValue;
      };
  } Cycle[100];

Dzięki! To jest to czego szukałem. Jeszcze jedno pytanie, bo pierwszy raz widzę taki skrót, rozumiem że cycle[100] to już jest tablica struktur?

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