Witam.
Opowiadałem znajomemu trochę o ciekawych rzeczach, które odkryłem gdy w celach edukacyjnych pisałem własną implementację std::vector.
A konkretnie odkryłem wtedy, że nie tak łatwo jest zaimplementować reserve gdy typem przechowywanym są obiekty a nie np inty. Odkryłem wtedy placement new.
No i opowiadam o tym znajomemu, i on mi mówi, że on by to rozwiązał poprzez trzymanie w vectorze tablicy wskaźników na obiekty. Przy czym metoda push tworzyłaby nowy obiekt przez new przekazując oryginalny jako parametr konstruktora. Jestem pewien, że to "wybulwi", że tak się nie da na dłuższą metę, ale nie potrafię od ręki powiedzieć gdzie się pojawi pierwszy problem. Pytanie: gdzie to nie zadziała / w którym miejscu to będzie niezgodne z biblioteką standardową? Dla uproszczenia można przyjąć c++ starszy niż x11 (bez semantyki przenoszenia)