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 […]
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 […]
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 […]
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 […]
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 […]
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,] […]
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.
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 […]
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.
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 […]