2011-01-19 3 views
4

Je suis curieux de savoir comment un auto_ptr est implémenté en C++. Et j'ai essayé de trouver où la source se trouve dans Ubuntu 10.04. Je n'ai pu trouver que le fichier .h mais je n'ai pas trouvé son implémentation. Où puis-je le trouver?pointeur automatique en C++

+0

Mieux vaut regarder la mise en œuvre de '' unique_ptr' ou shared_ptr' (tous les deux trouvé dans 'shared_ptr.h' pour gcc 4.4). 'auto_ptr' est obsolète. – Nate

Répondre

4

Le auto_ptr est un modèle et le code entier est probablement dans le fichier d'en-tête.

Vous pouvez vérifier l'implémentation de libstdC++ 4.4 here.

7

Le fichier .h est presque certainement son implémentation. auto_ptr est un modèle. Étant donné que les implémentations de modèle doivent être incluses dans leur intégralité, elles se trouvent normalement dans les fichiers .h.

+0

si je suis vraiment intéressé de voir comment un auto_ptr est implémenté .... que dois-je faire? – nikhil

+0

@nikhil: Lit le fichier .h. Sur mon système (encore 9.10) c'est /usr/include/c++/4.4/backward/auto_ptr.h, ou utilisez le lien icecrime fourni. –

0

Il s'agit d'une classe de modèle, donc les détails sont exposés dans le fichier d'en-tête: jetez un oeil.

0

C'est un modèle, donc tout est dans l'en-tête.