Gros objets sur la stack et modification de new ?
Salut à tous, c'est encore moi :)
Question du jour: peut-on mettre des gros objets sur la stack, ou est-ce préférable de les mettre dans le heap ?
Comprenez bien, je parle d'objets d'une vingtaine de Mo :)
Edit: et en question parallèle, si je devais mettre cet objet dans le scope global... bonne ou mauvaise idée ?
Edit2: puisque c'est là que je veux en venir, autant vous en parler aussi...
Le but de cette opération est de créer des gros blocs de mémoire d'un coup, pour ensuite allouer dedans des espaces mémoire pour des objets.
C'est peut-être une très mauvaise idée, mais ce n'est pas vraiment le point de ma question ici (même si les commentaires sont les bienvenus).
Ce que je cherche mnt, c'est comment forcer la construction d'un objet dans une adresse que je choisis dans mon bloc.
En gros, comment pourrais-je faire pour créer dans la classe MemoryBlock une méthode qui va trouver un espace mémoire dispo dans elle même, et y construire un objet ? Le problème n'est pas de trouver un espace mémoire bien sur, mais bien de créer l'objet où je le décide. J'ai pensé à deux trois trucs, et le premier me semble la plus belle solution à l'usage, mais est-ce possible ?
Code:
1 2 3
| Object* myObj = new(memblock) Object();
Object* myObj = memblock->new<Object>();
Object* myObj = memblock->new(Object); // Je trouve cette dernière particulièrement moche... |