Articles of vector

La funzione template C ++ compila nell’intestazione ma non nell’implementazione

Sto cercando di imparare i modelli e mi sono imbattuto in questo errore di confusione. Sto dichiarando alcune funzioni in un file di intestazione e voglio creare un file di implementazione separato in cui verranno definite le funzioni. Ecco il codice che chiama l’intestazione (dum.cpp): #include #include #include #include “dumper2.h” int main() { std::vector v; […]

Come leggere un file binario in un vettore di caratteri non firmati

Ultimamente mi è stato chiesto di scrivere una funzione che legge il file binario nello std::vector dove BYTE è un unsigned char . Abbastanza rapidamente sono arrivato con qualcosa del genere: #include #include typedef unsigned char BYTE; std::vector readFile(const char* filename) { // open the file: std::streampos fileSize; std::ifstream file(filename, std::ios::binary); // get its size: […]

Come evitare un loop in R: selezionare elementi da un elenco

Potrei risolvere questo usando loop, ma sto cercando di pensare in vettori, quindi il mio codice sarà più R-esque. Ho una lista di nomi. Il formato è firstname_lastname. Voglio uscire da questa lista in una lista separata con solo i primi nomi. Non riesco a pensare a come farlo. Ecco alcuni dati di esempio: t […]

Esempio per usare shared_ptr?

Ciao ho fatto una domanda oggi su Come inserire diversi tipi di oggetti nella stessa matrice vettoriale e il mio codice in quella domanda era gate* G[1000]; G[0] = new ANDgate() ; G[1] = new ORgate; //gate is a class inherited by ANDgate and ORgate classs class gate { ….. …… virtual void Run() { […]

Inizializzazione di un vettore ublas da un array C

Sto scrivendo un’estensione Matlab usando la libreria ublas di C ++, e mi piacerebbe essere in grado di inizializzare i miei vettori ublas dai C array passati dall’interpeter Matlab. Come posso inizializzare il vettore ublas da un array C senza (per motivi di efficienza) copiando esplicitamente i dati. Sto cercando qualcosa lungo le seguenti righe […]

Problema di prestazioni per vector :: size () in un ciclo

ciao quando si ha un vector var; for(int i=0; i< var.size();i++) , la funzione size() chiamata ogni volta o solo una volta? dalle risposte credo sia meglio usare iteratori, o semplicemente avere variabili prima del ciclo

std :: vector ridimensiona verso il basso

Lo standard C ++ sembra non rilasciare dichiarazioni riguardo gli effetti collaterali sulla capacità di resize(n) , con n < size() o clear() . Fa una dichiarazione sul costo ammortizzato di push_back e pop_back – O (1) Posso immaginare un’implementazione che faccia il solito tipo di modifiche di capacità agli algoritmi CLRS (es. Raddoppiare quando […]

Perché non riesco a creare un vettore di lambda (dello stesso tipo) in C ++ 11?

Stavo cercando di creare un vettore di lambda, ma ho fallito: auto ignore = [&]() { return 10; }; //1 std::vector v; //2 v.push_back([&]() { return 100; }); //3 Fino alla riga n. 2, compila bene . Ma la riga 3 dà errore di compilazione : errore: nessuna funzione di matching per la chiamata a […]

Inserimento in un vettore nella parte anteriore

iterator insert ( iterator position, const T& x ); È la dichiarazione di funzione dell’operatore di inserimento della class std::Vector . Il tipo di ritorno di questa funzione è un iteratore che punta all’elemento inserito. La mia domanda è, dato questo tipo di ritorno, qual è il modo più efficace (questo fa parte di un […]

std :: vector iterator invalidation

Ci sono state alcune domande riguardo a questo problema prima; la mia comprensione è che chiamare std::vector::erase invaliderà solo gli iteratori che si trovano in una posizione dopo l’elemento cancellato. Tuttavia, dopo aver cancellato un elemento, l’iteratore in quella posizione è ancora valido (a patto, ovviamente, che non punta a end() dopo la cancellazione)? La […]