Hlavní důvod proč se ptám je, že vektor při přidávání/odebírání prvků může jednotlivé prvky realokovat, takže není bezpečné ukladat si ukazatele na položky vektoru.
Z toho mě napadlo jestli podobná situace nemůže nastat se samotným vektorem. Nebo obecně s jakoukoli proměnou třídy. Jestli se nemůže stát, že proměné budou v paměti "zpřeházeny" z důvodu lepšího využití paměti nebo něco (bez toho aniž bych sám s vytvořenou instancí manipuloval).
#3Remder
Moze to nastat napr vtedy ked samotna trieda Foo bude vo vectore : std::vector<Foo> v;
S vectorom si treba davat velky pozor. Moze sposobyt chby ktore sa strasne zle hladaju (prejavia sa oneskorene a len niekedy).
Raz sa my to stalo v jednom programe kde som mal obrovsky strom polymorfickych prvkoch kde niektore prvky mali vetvy ulozene vo vectore. V strome sa volali virtualne funkcie( aj s nepriamou recursiou) ktore niekedy vytvarali dalsie prvky a vkladli ich do vectorov. Pri urcitych kombinaciach prvkov a urictom poradi zavolania funkcii to hadzalo segfaulty. Ale aspon som sa naucil pouzivat valgrind :)
Nahlásit jako SPAM
IP: 95.105.152.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "