Articles of vecteur

Un moyen simple de remplacer nième élément dans un vecteur en clojure?

Par exemple, j’ai un vecteur [1, 2, 3] et je souhaite mettre à jour le deuxième élément pour que le vecteur devienne [1, 5, 3] . Dans d’autres langues, je ferais simplement quelque chose comme array[1] = 5 , mais je ne suis au courant de rien qui me permettrait de le faire facilement dans […]

Comment changer un élément particulier d’un vecteur STL C ++

vector l; for(int i=1;i<=10;i++){ l.push_back(i); } Maintenant, par exemple, comment changer le 5th element du vecteur en -1 ? J’ai essayé d’ l.assign(4, -1); Il ne se comporte pas comme prévu. Aucune des autres méthodes vectorielles ne semble correspondre. J’ai utilisé le vecteur car j’ai besoin d’une fonctionnalité d’access aléatoire dans mon code (en utilisant […]

C ++ supprimer le vecteur, les objects, la mémoire libre

Je suis totalement confus en ce qui concerne la suppression de choses en C ++ Si je déclare un tableau d’objects et si j’utilise la fonction clear() . Puis-je être sûr que la mémoire a été libérée? Par exemple : tempObject obj1; tempObject obj2; vector tempVector; tempVector.pushback(obj1); tempVector.pushback(obj2); Puis-je appeler en toute sécurité pour libérer […]

Que dit la norme à propos de la façon dont l’appel à un vecteur change la capacité?

Ce site implique que la suppression d’un vecteur PEUT changer la capacité: http://fr.cppreference.com/w/cpp/container/vector/clear De nombreuses implémentations ne libéreront pas la mémoire allouée après un appel à clear (), laissant effectivement la capacité () du vecteur inchangée. Mais selon @JamesKanze, c’est faux et la norme stipule que le changement ne changera pas la capacité. Que dit […]

C ++ essayant de permuter les valeurs dans un vecteur

Ceci est ma fonction d’échange: template void swap (t& x, t& y) { t temp = x; x = y; y = temp; return; } Et ceci est ma fonction (sur une note latérale v stocke des chaînes) d’appel pour échanger des valeurs mais chaque fois que j’essaie d’appeler en utilisant des valeurs dans un […]

Comment relier ou relier des vecteurs de différentes longueurs sans répéter les éléments des vecteurs plus courts?

cbind(1:2, 1:10) [,1] [,2] [1,] 1 1 [2,] 2 2 [3,] 1 3 [4,] 2 4 [5,] 1 5 [6,] 2 6 [7,] 1 7 [8,] 2 8 [9,] 1 9 [10,] 2 10 Je veux une sortie comme ci-dessous [,1] [,2] [1,] 1 1 [2,] 2 2 [3,] 3 [4,] 4 [5,] 5 [6,] […]

Comment puis-je déclarer un vecteur membre de la même classe?

Pourquoi le code suivant fonctionne-t-il? struct A { std::vector subAs; }; A est un type incomplet, non? S’il y avait un vecteur de A *, je comprendrais. Mais ici je ne comprends pas comment ça marche. Cela semble être une définition récursive.

Meilleur moyen d’append un vecteur au vecteur

std::vector a; std::vector b; std::vector c; Je voudrais concaténer ces trois vecteurs en ajoutant les éléments de b et de c à a . Quel est le meilleur moyen de le faire et pourquoi? 1) En utilisant vector::insert : a.reserve(a.size() + b.size() + c.size()); a.insert(a.end(), b.begin(), b.end()); a.insert(a.end(), c.begin(), c.end()); b.clear(); c.clear(); 2) En utilisant […]

Est-ce qu’un appel à std :: vector :: clear () mettra std :: vector :: capacity () à zéro?

Si j’utilise .reserve (items) sur un vecteur, le vecteur allouera suffisamment de mémoire pour que je devine le nombre d’éléments dont j’ai besoin. Si j’utilise plus tard .clear (), cela va-t-il simplement effacer le vecteur ou enregistrer ma réserve précédemment définie? Merci.

Rotations vectorielles euclidiennes 2D

J’ai un vecteur euclidien en position assise aux coordonnées (0, 1) . Je veux faire pivoter de 90 degrés (dans le sens des aiguilles d’une montre) autour de l’origine: (0, 0) . Si je comprends bien comment cela devrait fonctionner, les coordonnées résultantes (x, y) après la rotation devraient être (1, 0) . Si je […]