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
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
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
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

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
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
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
8
réponses

Quelle optimisation offre la sémantique des mouvements si nous avons déjà RVO?

pour autant que je comprenne que l'un des buts de l'ajout de la sémantique des mouvements est d'optimiser le code en ap ... sation est-elle, si sans elle mon code fonctionne encore plus vite? Pourriez-vous expliquer ce que je comprends mal?
demandé sur 2011-02-17 19:38:29
1
réponses

C++11 mouvement lors de la restitution d'une serrure

Dans le livre "C++ de la Simultanéité dans l'Action", la lecture de la méthode suivante std::unique_lock<std ... :: déplacer le retour la valeur est meilleure et y a-t-il quelque chose de particulier à propos des serrures? Grâce.
demandé sur 2014-09-24 14:17:47
3
réponses

Pourquoi réattribuer une copie vectorielle au lieu de déplacer les éléments? [dupliquer]

possible Duplicate: Comment appliquer la sémantique des mouvements lorsqu'un vecteur croît? ... ant expérimentalement un foos.reserve(2); devant les insertions; cela ne provoque ni copie ni mouvement à exécuter.
demandé sur 2012-04-12 20:18:41
2
réponses

Comment la rouille fournit-elle la sémantique du mouvement?

Le de Rouille site web de langue "151940920 des réclamations" sémantique de déplacement comme l'une des caractérist ... arges de fonctions avec des paramètres rvalue. Comment ne Rouille fournir une sémantique de déplacement?
demandé sur 2015-04-07 14:37:57
3
réponses

C++ Move sémantique et Exceptions

dans la prochaine norme C++0x, que se passe-t-il lorsqu'une exception est lancée à l'intérieur/pendant le constructeur ... ginal et move-to sont-ils tous les deux dans un état indéterminé? quelles sont les garanties offertes par la langue?
demandé sur 2011-01-19 08:37:22
4
réponses

Est std::move vraiment nécessaire sur la liste d'initialisation du constructeur pour les éléments lourds passés par valeur?

récemment, j'ai lu un exemple de cppreference.../vecteur/emplace_back : struct President { std::strin ... - donc la sémantique de déplacement pourrait être appliquée... Et cela similaire aux arguments passés par valeur....
demandé sur 2014-05-29 13:16:38
1
réponses

Un défaut destructeur virtuel empêcher généré par le compilateur opérations de déplacement?

inspiré par le post pourquoi le destructeur désactive-t-il la génération de mouvements implicites? , je me d ... est-ce qu'un destructeur virtuel par défaut empêche les opérations de déplacement générées par le compilateur?
demandé sur 2015-11-27 15:04:29
3
réponses

Existe-t-il des cas d'utilisation pour std::forward avec une prvalue?

l'usage le plus courant de std::forward est de parfaire en avant un renvoi (universel) de référence, comme te ... fier la question, je me demande pourquoi surcharge (2) à partir d'ici est nécessaire, et un cas d'utilisation.
demandé sur 2015-04-25 03:40:29
4
réponses

Déplacer la chaîne d'un std::ostringstream

si je construis une chaîne faite d'une liste de valeurs de virgule flottante séparées par des espaces en utilisant st ... haîne, car ss ne sera plus utilisé. y a-t-il un moyen de construire la chaîne sans copier tout le contenu?
demandé sur 2014-10-09 01:11:23
2
réponses

Copier Et Déplacer L'Idiome?

en utilisant l'idiome Copy & Swap nous pouvons facilement mettre en œuvre l'assignation de copie avec une sécuri ... déplacer les membres manuellement. Ce qui évite les problèmes de nettoyage qui prédit la réponse dans le fil relié.
demandé sur 2017-04-12 14:35:50