C++ stack boyutu ile alakalı bir soru

Arkadaşlar C++ ile yaptığım oyunum için araştırma yaparken birinin texture ları saklamak için

std::map<std::string, sf::Texture> textures;

şöyle bir yönteme başvurduğunu gördüm ve aklıma takıldı textureların resimlerinin boyutu büyükse ve
öyle tanımladığımızda stack de tanımlıyorsak böyle yapmak ne kadar doğru ?

düşündüğüm şekilde değil mi olay bunu öğrenmek istiyorum çünkü bildiğim üzere stackın boyutu sınırlı böyle bir durum da heap kullanmak daha mantıklı değil mi yani

std::map<std::string, sf::Texture> textures;

yerine

std::map<std::string, sf::Texture*> textures;

kullanmak.

:confused:


std::map kendisi container olarak stack’de, ama içindeki değerler heap’de depolanıyor.

1 Beğeni

Memory sorun olmaya basladiysa map template’inin 4. parametresini kullanabilirsin.

Kodun geri kalanina gore, ciplak pointer yerine kutulayan siniflardan birini kullanmak daha mantikli olabilir.

Tabi daha iyi bir cozum texture datasini pointer’la tutan bir class kullanmak.

Veya daha da iyisi, CPU hafizasi yerine GPU hafizasinda tutan bir tanesi.

2 Beğeni