Articles of std

Come posso utilizzare le classi della libreria standard (STL) nella mia interfaccia dll o ABI?

Ci sono state alcune domande prima sull’esportazione di una class che contiene classi stl in relazione all’avviso di Visual Studio C4251: Ad esempio questa domanda o questa domanda. Ho già letto l’eccellente spiegazione su UnknownRoad. Disabilitare ciecamente l’avviso sembra un po ‘pericoloso, anche se potrebbe essere un’opzione. Non è davvero un’opzione nemmeno avvolgere tutte quelle […]

stdlib e output colorato in C

Sto facendo una semplice applicazione che richiede un output colorato. Come posso rendere colorato il mio output come emacs e bash do? Non mi interessa Windows, poiché la mia applicazione è solo per sistemi UNIX.

Std :: vector o boost :: vector thread safe?

Ho più thread contemporaneamente chiamando push_back() su un object condiviso di std::vector . std::vector thread safe? O devo implementare personalmente il meccanismo per renderlo sicuro? Voglio evitare di fare un lavoro extra di “blocco e liberazione” perché sono un utente della biblioteca piuttosto che un progettista di librerie. Spero di cercare soluzioni thread-safe esistenti per […]

Quando si usano le intestazioni C in C ++, dovremmo usare le funzioni da std :: o dal namespace globale?

C è un po ‘, non esattamente, un sottoinsieme di C ++. Quindi possiamo usare la maggior parte delle funzioni / intestazioni C in C ++ cambiando il nome un po ‘(da stdio.h a cstdio , da stdlib.h a cstdlib ). La mia domanda è in realtà un po ‘semantica. Nel codice C ++ (usando […]

Perché il distruttore di un futuro è restituito dal blocco `std :: async`?

Quando ho provato a rispondere a un’altra domanda StackOverflow , mi sono reso conto che questo semplice snippet di C ++ 11 blocca implicitamente il thread chiamante: std::async(std::launch::async, run_async_task) Per me questo sarebbe sembrato il modo canonico di C ++ 11 per avviare un’attività in modo asincrono senza preoccuparsi del risultato. Invece, è necessario creare […]

Qual è l’overhead delle prestazioni di std :: function?

Ho sentito su un forum usando std::function causa un calo delle prestazioni. È vero? Se è vero, è un calo notevole delle prestazioni?

Dovrei usare std :: function o un puntatore a funzione in C ++?

Quando si implementa una funzione di callback in C ++, dovrei comunque usare il puntatore di funzione in stile C: void (*callbackFunc)(int); O dovrei usare la funzione std ::: std::function callbackFunc;

Come faccio a cercare / trovare e sostituire in una stringa standard?

C’è un modo per sostituire tutte le occorrenze di una sottostringa con un’altra stringa in std::string ? Per esempio: void SomeFunction(std::string& str) { str = str.replace(“hello”, “world”); //< I'm looking for something nice like this }

Errore di risoluzione del sovraccarico durante lo streaming dell’object tramite conversione implicita in stringa

Disclaimer: so che la conversione implicita alla stringa dovrebbe essere evitata, e che l’approccio corretto sarebbe un op<< sovraccarico per Person . Considera il seguente codice: #include #include #include struct NameType { operator std::string() { return “wobble”; } }; struct Person { NameType name; }; int main() { std::cout << std::string("bobble"); std::cout << "wibble"; Person […]

C ++ OpenMP Parallel For Loop – Alternative a std :: vector

Sulla base di questo thread, il vettore OpenMP e STL , quali strutture dati sono buone alternative per un vettore std :: condiviso in un ciclo parallelo? L’aspetto principale è la velocità e il vettore potrebbe richiedere il ridimensionamento durante il ciclo.