J'essaie d'utiliser des pointeurs intelligents tels que auto_ptr, shared_ptr. Cependant, je ne sais pas comment l'utiliser dans cette situation.Pointeur intelligent C++ pour un type de non-objet?
CvMemStorage *storage = cvCreateMemStorage();
... use the pointer ...
cvReleaseMemStorage(&storage);
Je ne suis pas sûr, mais je pense que la variable de stockage est juste une mémoire malloc, pas un objet de classe C++. Existe-t-il un moyen d'utiliser les pointeurs intelligents pour la variable de stockage?
Merci.
Il est impossible de vous dire comment la mémoire est allouée sans voir la source de 'cvCreateMemStorage'. Il pourrait être 'malloc'ed, il pourrait être' new'ed, il pourrait ne pas être n'importe quoi, peut-être la fonction 'cvCreateMemStorage' retourne toujours' NULL'. –
Êtes-vous sûr que 'cvReleaseMemStorage' prend un' CvMemStorage ** 'au lieu d'un' CvMemStorage * '? Cela semble étrange. – ereOn
Odd en effet, mais [il fait] (http://opencv.willowgarage.com/documentation/dynamic_structures.html#releasememstorage). –