Questions sur make-shared

4
réponses

Comment passer deleter pour faire partager?

depuis C++11, pour plusieurs raisons, les développeurs ont tendance à utiliser des classes de pointeurs intelligents pour ... le faire? Semble que les compilateurs, au moins gcc, donne une erreur, auto ip = make_shared<int>(12, deleter);
demandé sur 2015-12-12 21:23:23
2
réponses

std::faire partagé() variation de C++17

cppref la suite est titulaire jusqu'en C++17: code f(std::shared_ptr<int>(new int(42)), g()) peut provoquer une ... onction ne sont jamais entrelacés. je me demande quel changement introduit en C++17 rend cette option non applicable.
demandé sur 2018-02-17 17:33:12
3
réponses

Que se passe-t-il lorsque vous utilisez make shared?

je suis intéressé si ces deux lignes de code sont les mêmes: shared_ptr<int> sp(new int(1)); // double allocation? ... n? Si c'est vrai ce que quelqu'un pourrait expliquer pourquoi est-ce seulement une affectation dans la deuxième ligne?
demandé sur 2014-07-16 15:42:42
3
réponses

Pouvez-vous allouer un tableau avec quelque chose d'équivalent pour faire partagé?

buffer = new char[64]; buffer = std::make_shared<char>(char[64]); ??? pouvez-vous affecter de la mémoire à un tabl ... ] ); mais cela implique toujours d'appeler nouveau, c'est à ma compréhension make_shared est plus sûr et plus efficace.
demandé sur 2012-12-10 07:05:59
2
réponses

faible ptr, faire partagé et désallocation de la mémoire

Un bloc de contrôle d'un shared_ptr est maintenu en vie tant qu'il y en a au moins un weak_ptr présent. Si le pointeur par ... ed_ptr être créé en utilisant un constructeur dans une telle situation (grand objet et intention d'utiliser weak_ptr s)?
demandé sur 2015-08-20 11:45:36
2
réponses

Ne std::faire partagé() utiliser des allocateurs?

Considérer ce code: #include <memory> #include <iostream> class SomeClass { public: SomeClass() { ... appelé le new opérateur -- il utilise un allocateur personnalisé. Est-ce le comportement standard de std::make_shared()?
demandé sur 2012-12-29 13:35:43
3
réponses

Pourquoi boost n'a pas de make scoped()?

du coup de pouce make_shared() la fonction promet d'être exceptionnellement-sûre tout en essayant de créer un shared_ptr. ... tion parce qu'elle n'a pas encore été construite. Est-ce une erreur? Ou est-il une solution que je n'ai pas remarqué?
demandé sur 2012-07-05 06:46:45
2
réponses

C++11 stocker plusieurs pointeurs partagés comme pointeurs bruts

ma question concerne shared_ptr et make_shared EN C++11. J'ai deux vecteurs, le premier on stocke des pointeurs intellige ... utiliser make_shared pour créer un shared_ptr C++ pointeur brut et std::shared_ptr extraire un pointeur brut d'un shared_ptr
demandé sur 2014-05-08 01:54:41
2
réponses

Comment combiner std::faire partagé et la nouvelle(std::nothrow)

le nouveau de C++a une option pour retourner un pointeur null au lieu de lancer une exception bad_alloc quand une allocat ... té d'obtenir simplement un pointeur nul au lieu d'une exception bad_alloc lors de l'attribution de l'espace pour la Foo?
demandé sur 2014-03-19 19:49:26