Questions sur move-semantics

11
réponses

Quelles sont sémantique de déplacement?

je viens de finir d'écouter la radio de Software Engineering podcast interview with Scott Meyers regarding C++0x . ... , à l'exception d'un. Je ne comprends toujours pas le sémantique de déplacement ... Quels sont-ils exactement?
demandé sur 2010-06-24 02:46:46
6
réponses

repousser vs emplace dos

je suis un peu confus quant à la différence entre push_back et emplace_back . void emplace_back(Type&& _ ... harge push_back prenant une valeur de référence Je ne vois pas tout à fait quel est le but de emplace_back devient?
demandé sur 2010-11-29 15:04:09
5
réponses

C++11 valeurs et déplacement sémantique confusion (retourner la déclaration)

j'essaie de comprendre les références rvalue et de déplacer la sémantique de C++11. Quelle est la différence ... t;int> tmp {1,2,3,4,5}; return std::move(tmp); } std::vector<int> &&rval_ref = return_vector();
demandé sur 2011-02-13 23:28:46
2
réponses

Que puis-je faire avec un objet déplacé?

la norme définit-elle précisément ce que je peux faire d'un objet une fois qu'il a été déplacé? Je pensais que tout ce ... tails dans la norme? (d'ailleurs, pourquoi T c = std::move(a); au lieu de T c(std::move(a)); à la ligne 1?)
demandé sur 2011-08-11 18:19:12
6
réponses

Opérateur d'assignation de déplacement et de " si ce!= & rhs)`

dans l'opérateur d'affectation d'une classe, vous devez habituellement vérifier si l'objet assigné est l'objet d'invoc ... t? Y a-t-il une situation où this == &rhs serait vrai? ? Class::operator=(Class&& rhs) { ? }
demandé sur 2012-02-17 06:41:55
6
réponses

Quand std:: move doit-il être utilisé sur une valeur de retour de fonction? [dupliquer]

cette question a déjà une réponse ici: c++11 valeur de Retour de l'optimisation o ... return std::move(foo); //so here the move is needed, right? } là le mouvement est nécessaire, je suppose?
demandé sur 2013-02-13 18:55:56
4
réponses

Pourquoi on copie et on déménage?

j'ai vu du code quelque part dans lequel quelqu'un a décidé de copier un objet et de le déplacer ensuite vers un membr ... son pour laquelle l'auteur déciderait de faire une copie puis un mouvement? Quand dois-je le faire moi-même?
demandé sur 2013-05-24 02:03:22
5
réponses

Puis-je lister-initialiser un vecteur de type move-only?

si je passe le code suivant à travers mon snapshot GCC 4.7, il essaie de copier le unique_ptr s dans le vecteur. ... = std::unique_ptr]' GCC a-t-il raison d'essayer de copier les pointeurs de la liste des initialiseurs?
demandé sur 2011-12-12 04:49:27
3
réponses

Comment appliquer la sémantique des mouvements lorsqu'un vecteur croît?

j'ai un std::vector des objets d'une certaine classe A . La classe n'est pas triviale et a défini les constructeur ... e d'une manière ou d'une autre faire respecter le constructeur de mouvements de la classe A est utilisé à la place?
demandé sur 2011-11-04 01:03:27
5
réponses

Y a-t-il des cas où un retour d'une référence de valeur (&&) est utile?

y a-t-il une raison pour qu'une fonction renvoie une référence de valeur ? Une technique, ou d'astuce, ou idiome ou m ... à faire cela? Probablement différent quand un ecrit le code de la bibliothèque ou de L'API, comparé au code client?
demandé sur 2011-04-24 15:30:34
1
réponses

Toutes / la plupart des fonctions de setter en C++11 devraient-elles être écrites en tant que Modèles de fonction acceptant des références universelles?

considérer une classe X avec N variables membres, chacune de quelques copiable et mobile type, et N fonctions ... des fonctions de setter comme modèles de fonction accepter références universelles dans la mesure du possible "?
demandé sur 2013-01-07 18:02:54
4
réponses

Pourquoi utilisez-vous std::move quand vous avez && en C++11? [dupliquer]

possible Duplicate: quelqu'un peut m'expliquer la sémantique du mouvement? j'a ... iliser std::move par opposition à certaines alternatives et certains cas où vous ne devriez pas utiliser std::move ?
demandé sur 2013-01-23 22:05:06
3
réponses

Passer std:: chaîne de caractères par valeur ou référence [dupliquer]

possibilité de dupliquer: les jours de passage de const std:: string & comme paramètre sont-ils ... du mouvement est supportée? Et qu'en est-il des implémentations utilisant l'optimisation des petites chaînes (SSO)?
demandé sur 2012-05-28 23:45:47
1
réponses

Le constructeur de déplacement par défaut est-il défini comme noexcept?

il semble qu'un vecteur vérifiera si le constructeur move est étiqueté noexcept avant de décider s'il faut déplacer ou ... t encore force la génération du constructeur de mouvement implicitement déclaré avec le mot-clé par défaut.
demandé sur 2013-09-06 12:53:07
5
réponses

C'est le pass-en-valeur-et-puis-déplacer la construction d'un mauvais langage?

depuis que nous avons la sémantique de mouvement en C++, de nos jours il est habituel de faire void set_a(A a) ... e copie. Pouvons-nous dire que cette façon est préférable à l'idiome de pass-by-value si nous allons passer lvalues?
demandé sur 2014-01-10 06:56:05
1
réponses

Pourquoi Visual Studio n'effectue pas l'optimisation de la valeur de retour (RVO) dans ce cas

je répondais à une question et recommandais return by-value for a large type parce que j'étais sûr que le compilate ... urrais pas simplement écrire return v; , par exemple si Foo avait des paramètres de constructeur supplémentaires.
demandé sur 2014-09-22 00:45:14
6
réponses

Comment appliquer réellement la règle des cinq?

mise à JOUR en bas q1: comment mettre en œuvre la" règle des cinq pour une classe qui gère des r ... nclure que cela n'a pas d'importance et est donc laissé au goût du développeur. Dans ce cas, je choisirais le N ° 2.
demandé sur 2011-05-12 14:11:19
2
réponses

Pourquoi std:: move empêche RVO?

dans de nombreux cas, lors du retour d'un local d'une fonction, RVO intervient. Cependant, j'ai pensé que l'utilisation ex ... e laisser le l'optimisation du compilateur fait son travail et fait quand même respecter move si RVO n'est pas appliqué?
demandé sur 2013-10-09 13:00:27
2
réponses

Qu'est-ce que la garantie de bibliothèque standard au sujet de l'assignation de déménagement?

que dit la norme C++11 à propos de l'auto-déménagement par rapport à la bibliothèque standard? Pour être plus concret, ... template<class T> std::vector<T> selfAssign(std::vector<T> v) { v = std::move(v); return v; }
demandé sur 2012-10-29 22:23:22
2
réponses

Déplacer le constructeur sur un objet dérivé

lorsque vous avez un objet dérivé avec un constructeur move, et que l'objet de base a aussi la sémantique move, Quelle est ... ilise pas std::move ici, il appelle juste le constructeur de copie. Alors, pourquoi est l'appel à std::move nécessaire?
demandé sur 2010-11-03 14:59:00
4
réponses

Un vecteur déplacé est-il toujours vide?

je sais que la norme impose généralement peu d'exigences sur les valeurs qui ont été déplacées de: N3485 17.6 ... andardese qui implique que je manque ou est-ce similaire à traiter basic_string comme un tampon contigu en C++03 ?
demandé sur 2013-07-18 21:54:19
4
réponses

Pourquoi le déplacement d'une variable de pointeur ne la fixe-t-il pas à null?

lors de la mise en œuvre des constructeurs move et des opérateurs move assignment, on écrit souvent du code comme ceci: p ... ciale qui dit "si le côté droit d'une tâche est un pointeur xvalue, il est défini à null après que la tâche a eu lieu."?
demandé sur 2012-02-26 14:55:37
1
réponses

Est-ce que std:: array est mobile?

std::array mobile? Bjarne Natif 2012 les diapositives de la présentation (diapo 41) il énumère std::array n'est pas mobil ... est std::array immobile? Si elle est immobile, pourquoi std::array ne peut pas être déplacé pendant std::vector est-ce?
demandé sur 2013-01-17 05:17:49
4
réponses

Est-ce l'usage correct de la sémantique c++ 'move'?

ce soir, j'ai jeté un oeil à un code sur lequel j'ai travaillé ces derniers jours, et j'ai commencé à lire sur la sémanti ... e vous, mais je veux m'assurer de comprendre la sémantique juste avant que je vais blazer sur mon code. Merci d'avance!
demandé sur 2010-11-10 22:37:19
3
réponses

Bonne façon (sémantique de déplacement) de retourner un std:: vecteur de la fonction appelant en C++11

je veux remplir un std::vector (ou un autre conteneur STL): class Foo { public: Foo(int _n, const Bar &_m); private ... placer les fonctionnalités sémantiques et ainsi de suite) pour éviter la copie redondante et les appels de constructeur?
demandé sur 2011-06-02 11:14:47
5
réponses

Pourquoi le passage de valeur (si une copie est nécessaire) est-il recommandé en C++11 si une référence const ne coûte qu'une seule copie?

je suis en train d'essayer de comprendre la sémantique de déplacement, les références rvalue, std::move, etc. J'ai essayé ... xième méthode ne nécessite qu'une seule copie, comment la première méthode privilégiée et, dans certains cas, plus vite?
demandé sur 2017-09-04 02:37:50
2
réponses

Utilisation correcte de " = supprimer` pour les méthodes dans les classes

Est-ce que l'extrait suivant est correct pour dé-définir toutes les méthodes et les constructeurs générés par ailleurs pou ... operator=(Picture&&) correct? Fait-il une différence si je l'ai écrit Picture&& pour le type de retour?
demandé sur 2011-04-16 18:12:10
5
réponses

La sémantique des mouvements = = fonction de swap personnalisée obsolète?

Récemment, beaucoup questions pop-up sur la façon de fournir votre propre swap de la fonction. Ave ... ar une sorte de "l'échange de pointeur" (alias en mouvement). Peut-être avec certaines variables de référence? Hm...
demandé sur 2011-06-20 23:30:40
3
réponses

Transfert par valeur vs const & et & surcharges

donc, après avoir regardé la sémantique des mouvements, je vois que le consensus général est de passer par la valeur quand ... ce. La question est donc: est-il utile? Quand créeriez-vous deux surcharges au lieu d'une simple fonction pass by value?
demandé sur 2013-01-06 23:42:32
2
réponses

Quelles sont les règles pour la génération automatique d'opérations de déménagement?

en C++98, le compilateur C++ pourrait automatiquement générer le constructeur de copies et l'opérateur d'affectation de c ... et copie des opérateurs d'affectation? y a-t-il des cas où les opérations de déménagement sont généré automatiquement?
demandé sur 2014-06-21 19:12:28