Voglio stampare il contenuto di un vettore in C ++, ecco cosa ho: #include <iostream> #include <fstream> #include <string> #include <cmath> #include <vector> #include <sstream> #include <cstdio> using namespace std; int main() { ifstream file("maze.txt"); if (file) { vector<char> vec(istreambuf_iterator<char>(file), (istreambuf_iterator<char>())); vector<char> path; int x = 17; char entrance = …
Qual è il modo più veloce per ripristinare ogni valore di std::vector<int>a 0 e mantenere la dimensione iniziale dei vettori? Un ciclo for con l'operatore []?
Dopo molte indagini con valgrind, ho concluso che std :: vector fa una copia di un oggetto che si desidera push_back. È davvero vero? Un vettore non può conservare un riferimento o un puntatore di un oggetto senza una copia ?! Grazie
Mi piacciono molto i vettori. Sono eleganti e veloci. Ma so che esiste una cosa chiamata valarray. Perché dovrei usare un valarray invece di un vettore? So che i valarrays hanno dello zucchero sintattico, ma a parte questo, quando sono utili?
Se ho un vettore di coppie: std::vector<std::pair<int, int> > vec; Esiste un modo semplice per ordinare l'elenco in ordine crescente in base al secondo elemento della coppia? So di poter scrivere un piccolo oggetto funzione che farà il lavoro, ma c'è un modo per usare parti esistenti dell'STL e std::lessfare …
Quanti dati vengono copiati, quando si restituisce uno std :: vector in una funzione e quanto grande sarà l'ottimizzazione per posizionare lo std :: vector in free-store (sull'heap) e restituire invece un puntatore, cioè è: std::vector *f() { std::vector *result = new std::vector(); /* Insert elements into result */ return …
Sto cercando un modo generico e riutilizzabile per mescolare un std::vectorin C ++. Questo è il modo in cui lo faccio attualmente, ma penso che non sia molto efficiente perché ha bisogno di un array intermedio e deve conoscere il tipo di elemento (DeckCard in questo esempio): srand(time(NULL)); cards_.clear(); while …
So che at()è più lento che a []causa del controllo dei confini, che è anche discusso in domande simili come C ++ Vector at / [] operator speed o :: std :: vector :: at () vs operator [] << risultati sorprendenti !! Da 5 a 10 volte più lento …
Ho il seguente codice Java con diversi grandi array che non cambiano mai le loro dimensioni. Funziona in 1100 ms sul mio computer. Ho implementato lo stesso codice in C ++ e l'ho usato std::vector. Il tempo dell'implementazione C ++ che esegue lo stesso identico codice è di 8800 ms …
C ++ 14 presenta std::dynarray: std :: dynarray è un contenitore di sequenze che incapsula array con una dimensione che è fissata alla costruzione e non cambia per tutta la durata dell'oggetto. std::dynarraydeve essere allocato in fase di esecuzione come lo stesso std::vector. Quindi quali sono i vantaggi e l'utilizzo …
Sto usando una libreria esterna che ad un certo punto mi dà un puntatore non elaborato a una matrice di numeri interi e dimensioni. Ora vorrei utilizzare std::vectorper accedere e modificare questi valori sul posto, anziché accedervi con puntatori non elaborati. Ecco un esempio articolare che spiega il punto: size_t …
Considera il seguente frammento: #include <array> int main() { using huge_type = std::array<char, 20*1024*1024>; huge_type t; } Ovviamente si bloccherebbe sulla maggior parte delle piattaforme, perché la dimensione dello stack predefinita è generalmente inferiore a 20 MB. Ora considera il seguente codice: #include <array> #include <vector> int main() { using …
Ho una funzione che accetta un multidimensionale std::vectore richiede che la profondità (o il numero di dimensioni) sia passata come parametro del modello. Invece di codificare questo valore, vorrei scrivere una constexprfunzione che prenderà std::vectore restituisca la profondità come unsigned integervalore. Per esempio: std::vector<std::vector<std::vector<int>>> v = { { { 0, …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.