@@ -47,6 +47,10 @@ A `RString` osztály fenti publikus metódusai tovább nem bővíthetőek. Term
...
@@ -47,6 +47,10 @@ A `RString` osztály fenti publikus metódusai tovább nem bővíthetőek. Term
A `pool.h`-ban az osztályhoz készített kommentezést követve implementáld a StringPool-t! Az osztály megvalósítása során törekedj az egységbezárásra, a hatékony megvalósításra, az osztály publikus interfésze nem bővíthető és nem is módosítható.
A `pool.h`-ban az osztályhoz készített kommentezést követve implementáld a StringPool-t! Az osztály megvalósítása során törekedj az egységbezárásra, a hatékony megvalósításra, az osztály publikus interfésze nem bővíthető és nem is módosítható.
A két `acquire` függvénynél azt a szabad RString objektumot kell visszaadni, ami maximális kihasználtságú, azaz:
-`acquire(size_t cap)` esetén a kért kapacitás (cap) és a visszaadott RString objektum kapacitásának (str_cap) hányadosa maximális: 0 < max(cap/str_cap) <= 1
-`acquire(const char* str)` esetén a kapott string valós méretének (len+1) és a visszaadott RString objektum kapacitásának (str_cap) hányadosa maximális: 0 < max((len+1)/str_cap) <= 1
## Tiltott elemek
## Tiltott elemek
Az `RString` implementálásakor semmilyen STL tároló nem használható. A megoldásnál elemi dinamikus memóriakezelést kell alkalmazni. Ugyanakkor a `StringPool`-nál már használható valamilyen STL vektor vagy lista. Ezt a JPorta egyszerű szövegvizsgálattal ellenőrzi!
Az `RString` implementálásakor semmilyen STL tároló nem használható. A megoldásnál elemi dinamikus memóriakezelést kell alkalmazni. Ugyanakkor a `StringPool`-nál már használható valamilyen STL vektor vagy lista. Ezt a JPorta egyszerű szövegvizsgálattal ellenőrzi!