Questions sur unique-ptr

6
réponses

Comment passer un argument ptr unique à un constructeur ou à une fonction?

je suis nouveau pour déplacer la sémantique en C++11 et je ne sais pas très bien comment gérer les paramètres unique_ ... se::UPtr b1; Base::UPtr b2(new Base()); b1->setNext(b2); //should I write b1->setNext(std::move(b2)); instead?
demandé sur 2011-11-13 23:58:49
6
réponses

l'originalité et le transfert parfait

pourquoi n'y a-t-il pas de modèle de fonction std::make_unique dans la bibliothèque standard C++11? Je trouve ... elle est correcte. S'agit-il? Que signifie exactement std::forward<Args>(args)... ? Que fait le compilateur?
demandé sur 2011-08-12 13:46:23
7
réponses

Est-ce que std:: ptr unique est nécessaire pour connaître la définition complète de T?

j'ai un code dans un en-tête qui ressemble à ceci: #include <memory> class Thing; class MyClass { s ... tionner avec une déclaration forward seulement? C'est bizarre , ça ne devrait tenir qu'un pointeur sur Thing , Non?
demandé sur 2011-05-16 04:11:51
4
réponses

Différences entre le ptr unique et le ptr partagé [dupliquer]

duplicata possibles: pimpl: shared_ptr ou unique_ptr smart pointers (boost) expliqué Quelqu'un pourrait-il expliquer les différences entre shared_ptr et unique_ptr?
demandé sur 2011-07-29 21:26:00
3
réponses

Différences entre std:: make unique et std:: unique ptr

Ne std::make_unique ont tout les avantages d'efficacité comme std::makes_shared ? comparé à la constructi ... le de std::unique_ptr : std::make_unique<int>(1); // vs std::unique_ptr<int>(new int(1));
demandé sur 2014-03-22 03:20:28
5
réponses

Copier le constructeur pour une classe avec un ptr unique

comment implémenter un constructeur de copie pour une classe qui a une variable membre unique_ptr ? Je ne considère que C++11.
demandé sur 2013-04-16 10:21:30
2
réponses

Pourquoi le ptr unique prend-il deux paramètres de template alors que le ptr partagé n'en prend qu'un?

les deux unique_ptr et shared_ptr acceptent un destructeur personnalisé pour faire appel à l'objet qu'ils pos ... hared_ptr(T*, D); //simplified ... }; je ne vois pas pourquoi une telle différence. Ce qui implique que?
demandé sur 2014-01-25 23:15:06
4
réponses

Comment fonctionne le Custom deleter de std::unique ptr?

selon N3290 std::unique_ptr accepte un argument deleter dans son constructeur. cependant, je ne peux pas obt ... ple, c'est-à-dire qu'avec n'importe quel compilateur que vous utilisez, il fait réellement ce qu'il est censé faire?
demandé sur 2011-11-26 01:39:05
1
réponses

Déclaration avec un ptr unique? [dupliquer]

cette question a déjà une réponse ici: Est std::unique_ptr nécessaire pour connaî ... sité d'appeler le destructeur de unique_ptr<B> ) est défini dans une unité de compilation spécifique (A.cpp).
demandé sur 2012-11-16 14:23:35
3
réponses

Mauvaise pratique pour retourner un ptr unique pour pointeur brut comme la sémantique de propriété?

j'ai écrit une méthode d'usine statique qui renvoie un nouvel objet Foobar peuplé à partir d'un autre objet de données. J ... ttre la propriété correcte de la sémantique? Est-ce une "mauvaise pratique" de retour unique_ptr au lieu d'un pointeur brut?
demandé sur 2012-01-04 01:51:21
4
réponses

Dois-je utiliser un RTR partagé ou un RTR unique?

j'ai fait quelques objets en utilisant l'idiome pimpl, mais je ne suis pas sûr d'utiliser std::shared_ptr ou ... iser std::shared_ptr et autoriser les copies est une sorte d'anti-modèle ou mauvaise chose. est-ce exact?
demandé sur 2011-04-07 10:30:11
1
réponses

supprimer le ptr unique de la file d'attente

j'essaie de comprendre comment/si je peux utiliser unique_ptr dans un queue. // create queue std::queue<std::unique_p ... ionne pas. Depuis l' front& pop 2 étapes distinctes, l'élément ne peut pas être déplacé. Est-il un moyen de faire cela?
demandé sur 2013-01-02 22:52:13
3
réponses

Comment déclarer std:: ptr unique et à quoi sert-il?

j'essaie de comprendre comment std::unique_ptr fonctionne et pour que j'ai trouvé document. L'auteur commence à partir de ... moi, c'est comment les pointeurs, déclarés de cette façon seront différent des pointeurs déclarés de manière "normale".
demandé sur 2013-06-03 14:11:33
2
réponses

Avantages de l'utilisation de std:: faire unique sur le nouvel opérateur [dupliquer]

cette question a déjà une réponse ici: différences entre std:: make_unique et std: ... de fuites de mémoire qui pourrait arriver? Est-il plus rapide de faire un std::make_unique que d'utiliser new ?
demandé sur 2016-05-29 23:14:48
3
réponses

Est-ce que le ptr unique peut être utilisé en toute sécurité dans les collections stl?

je suis confondu avec unique_ptr et rvalue move philosophy. disons que nous avons deux collections: st ... e manque un élément crucial d'information, donc j'attends avec impatience quelqu'un pour me fournir les aha! moment.
demandé sur 2010-05-20 22:17:14
2
réponses

Dois-je attribuer ou réinitialiser un ptr unique?

étant donné la situation courante où la durée de vie d'un objet possédé est liée à son propriétaire, je peux utiliser un ... ans une initialisation méthode et pas dans le ctor. Par conséquent, je ne peux pas utiliser les listes d'initialisation.
demandé sur 2013-04-17 17:29:29
7
réponses

Pourquoi un ptr faible ne peut-il pas être construit à partir d'un ptr unique?

Si je comprends bien, un weak_ptr n'augmente pas le nombre de référence de l'objet géré, donc il ne représente pas la prop ... r ne peut pas être construit à partir d'un unique_ptr, mais seulement un shared_ptr. quelqu'un Peut-il expliquer cette?
demandé sur 2015-03-15 12:58:27
2
réponses

C++ insérant un ptr unique dans la carte

j'ai un objet C++ de type ObjectArray typedef map<int64_t, std::unique_ptr<Class1>> ObjectArray; Quelle est la syntaxe pour créer un unique_ptr pour un nouvel objet de type Class1 et l'insérer dans un objet de type ObjectArray?
demandé sur 2013-06-04 21:16:19
2
réponses

Conversion std:: ptr unique en std:: ptr unique

disons que j'ai des fonctions d'usine concernant les classes de base et dérivées: #include <memory> using namespa ... pointeur, mais ça ne marche pas. est - ce une non-conformité dans Mes compilateurs (gcc 4.8.1 et VS2012)? La conception de
demandé sur 2014-02-25 19:05:29
6
réponses

quel est le point de std::ptr::get

Ne pas std::unique_ptr::get défaite le but d'avoir un unique_ptr en premier lieu? Je me serais attendu à ce que cette fonction change son état pour qu'elle ne tienne plus de pointeur. Y a-t-il une utilisation utile de std::unique_ptr::get?
demandé sur 2012-05-29 19:21:05
3
réponses

std:: utilisation unique de ptr

std::unique_ptr<int> p1(new int); std::unique_ptr<int> p2(new int); p2=p1; Il semble ici que p1 n'est plus " ... plus sûr de préciser explicitement transfert de propriété que implicitement comme c'est le cas avec auto_ptr je suppose
demandé sur 2011-04-11 18:27:22
4
réponses

C++ std::ptr unique: pourquoi il n'y a pas de frais de taille avec lambdas?

je lis " Effective Modern C++". Dans le point concernant std::unique_ptr il est dit que si le custom deleter est un objet ... ce qui se passe. Pourriez-vous expliquer le mécanisme derrière cela en utilisant le plus petit exemple de code possible?
demandé sur 2015-10-22 23:01:02
5
réponses

Est-ce que unique ptr:: release () appelle le destructeur?

Est ce code correct? auto v = make_unique<int>(12); v.release(); // is this possible? Est équivalent à delete un pointeur brut?
demandé sur 2014-09-01 19:57:40
2
réponses

unique ptr pour une classe dérivée comme argument à une fonction qui prend un unique pointeur vers une classe de base

j'essaie d'utiliser un unique_ptr pour la classe dérivée dans une fonction qui prend un unique_ptr à une classe de base. ... e je veux. je fais quelque chose de mal? Que puis-je faire pour contourner ce problème? J'utilise Visual Studio 2012.
demandé sur 2013-07-04 19:29:31
5
réponses

Bonne façon de créer un ptr unique qui contient un tableau alloué

Quelle est la bonne façon de créer un fichier unique_ptr qui contient un tableau qui est alloué sur le free store? Visual ... w[](unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==3894== by 0x40075F: main (test.cpp:15)
demandé sur 2014-01-27 13:37:58
1
réponses

Itération par vecteur> en utilisant C++11 pour les boucles()

j'ai le lot de code suivant: std::vector<std::unique_ptr<AVLTree_GeeksforGeeks>> AVLArray(100000); /* Let's ... e| ||=== Build finished: 2 errors, 0 warnings (0 minutes, 0 seconds) ===| Avez-vous une idée de ce que je fais de mal?
demandé sur 2013-11-30 00:04:01
5
réponses

Comment capturer un ptr unique dans une expression lambda?

j'ai essayé le code suivant: std::function<void ()> getAction(std::unique_ptr<MyClass> &&psomething){ ... on of move. //test(a); forbidden, you have to say weather you want to copy or move //from a lvalue reference. }
demandé sur 2011-11-23 06:11:16
2
réponses

Performance de redimensionnement std:: vecteur>

la conception générale semble être que std::unique_ptr a pas de temps au-dessus par rapport à la propriété de pointeu ... Note: supposons que T est polymorphe et coûteux à déplacer, donc std::vector<T> n'est pas une option.
demandé sur 2017-07-13 22:01:17
2
réponses

Comment initialiser std::unique ptr dans le constructeur?

A. hpp: class A { private: std::unique_ptr<std::ifstream> file; public: A(std::string filename); }; A.c ... ream*)’ quelqu'un sait-il pourquoi cela se produit? J'ai essayé de nombreuses façons pour que ça marche, mais en vain.
demandé sur 2013-10-08 04:39:23
2
réponses

Pourquoi le ptr (T*) unique est-il explicite?

Les fonctions suivantes ne sont pas compiler: std::unique_ptr<int> foo() { int* answer = new int(42); retur ... nt(42); } je trouve cela un peu gênant. Quelle a été la volonté de faire de l' std::unique_ptr<T>(T*) explicite?
demandé sur 2012-07-06 22:43:37