Domande taggate «c++»

C ++ è un linguaggio di programmazione generico. È stato originariamente progettato come estensione di C e ha una sintassi simile, ma ora è un linguaggio completamente diverso. Utilizzare questo tag per domande sul codice (da compilare) compilato con un compilatore C ++. Utilizzare un tag specifico della versione per domande relative a una revisione standard specifica [C ++ 11], [C ++ 14], [C ++ 17] o [C ++ 20], ecc.



4
Perché memmove è più veloce di memcpy?
Sto studiando gli hotspot delle prestazioni in un'applicazione che trascorre il 50% del suo tempo in memmove (3). L'applicazione inserisce milioni di interi a 4 byte in array ordinati e utilizza memmove per spostare i dati "a destra" per fare spazio al valore inserito. La mia aspettativa era che la …
89 c++  c  performance  memory 


8
Quale contenitore STL dovrei usare per un FIFO?
Quale contenitore STL si adatterebbe meglio alle mie esigenze? Fondamentalmente ho un contenitore largo 10 elementi in cui inserisco continuamente push_backnuovi elementi mentre pop_frontinserisco l'elemento più vecchio (circa un milione di volte). Attualmente sto usando a std::dequeper l'attività, ma mi chiedevo se a std::listsarebbe più efficiente poiché non avrei bisogno …
89 c++  stl  fifo 

12
Come dichiarare un array di stringhe in C ++?
Sto cercando di iterare su tutti gli elementi di un array statico di stringhe nel miglior modo possibile. Voglio essere in grado di dichiararlo su una riga e aggiungere / rimuovere facilmente elementi da esso senza dover tenere traccia del numero. Sembra davvero semplice, non è vero? Possibili non soluzioni: …
89 c++  arrays 


4
Compilazione di codice multithread con g ++
Ho il codice più semplice in assoluto: #include <iostream> #include <thread> void worker() { std::cout << "another thread"; } int main() { std::thread t(worker); std::cout << "main thread" << std::endl; t.join(); return 0; } anche se ancora non riesco a compilarlo con g++ per eseguire. Più dettagli: $ g++ --version …
89 c++  linux  ubuntu  gcc  g++ 

3
Deprecazione della parola chiave statica ... non più?
In C ++ è possibile utilizzare la staticparola chiave all'interno di un'unità di traduzione per influenzare la visibilità di un simbolo (dichiarazione di variabile o funzione). In n3092, questo era deprecato: Allegato D.2 [depr.static] L'uso della parola chiave static è deprecato quando si dichiarano oggetti nell'ambito dello spazio dei nomi …
89 c++  static  c++11  standards 


6
Callback C ++ utilizzando il membro della classe
So che è stato chiesto così tante volte e per questo motivo è difficile scavare nel cruft e trovare un semplice esempio di ciò che funziona. Ho questo, è semplice e funziona per MyClass... #include <iostream> using std::cout; using std::endl; class MyClass { public: MyClass(); static void Callback(MyClass* instance, int …

5
Eliminazione di un puntatore a const (T const *)
Ho una domanda di base sui puntatori const. Non sono autorizzato a chiamare alcuna funzione membro non const utilizzando un puntatore const. Tuttavia, sono autorizzato a farlo su un puntatore const: delete p; Questo chiamerà il distruttore della classe che in sostanza è un "metodo" non const. Perché è permesso? …

6
Perché l'operatore [] const per le mappe STL?
Esempio artificioso, per il bene della domanda: void MyClass::MyFunction( int x ) const { std::cout << m_map[x] << std::endl } Non verrà compilato, poiché l'operatore [] non è const. Questo è un peccato, poiché la sintassi [] sembra molto pulita. Invece, devo fare qualcosa del genere: void MyClass::MyFunction( int x …
89 c++  constants 

3
Cos'è const void?
La descrizione di std::is_voidafferma che: Fornisce il valore della costante del membro che è uguale a true, se T è il tipo void, const void, volatile void o const volatile void. Allora cosa potrebbe essere const void, o un volatile void? Questa risposta afferma che il const voidtipo restituito non …
89 c++  c++11  c++14 

3
shared_ptr magic :)
Il signor Lidström e io abbiamo litigato :) L'affermazione del signor Lidström è che un costrutto shared_ptr<Base> p(new Derived);non richiede che Base abbia un distruttore virtuale: Armen Tsirunyan : "Davvero? Shared_ptr ripulirà correttamente? Potresti per favore in questo caso dimostrare come questo effetto potrebbe essere implementato?" Daniel Lidström : " …

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.