Je travaille actuellement sur quelques allocateurs personnalisés simples en C++ qui fonctionnent généralement déjà. J'ai également surchargé les opérateurs new/delete pour allouer de la mémoire à partir de mon propre allocateur. Quoi qu'il en soit, je suis tombé sur des scénarios où je ne sais pas vraiment où la mémoire vient comme ceci:C++ lier les allocations temporaires en fonction de l'allocateur personnalisé?
void myFunc(){
myObj testObj();
....do something with it
}
Dans ce cas TestObj ne serait valable que dans la fonction, mais où serait sa mémoire venir? Y at-il de toute façon que je puisse le lier à mon allocateur? Devrais-je créer un objet en utilisant new et delete ou existe-t-il un autre moyen?
Merci
Les parenthèses après testObj ne sont-elles pas aussi valides? –
Je demande juste parce que je veux allouer toute ma mémoire dans un endroit. Je vais probablement utiliser nouveau/supprimer alors. et ce que j'ai écrit n'est pas une fonction mais un simple appel au constructeur :) – moka
@Matti: oui, mais pas ce que vous voulez: http://www.parashift.com/c++-faq-lite/ctors.html#faq -10.2 – kennytm