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.

10
Stai generando UML da codice C ++? [chiuso]
Chiuso. Questa domanda non soddisfa le linee guida di Stack Overflow . Attualmente non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che sia in argomento per Stack Overflow. Chiuso 2 anni fa . Migliora questa domanda Esiste uno strumento in grado di analizzare i file C …
113 c++  uml 

5
lancia una nuova eccezione std :: vs lancia un'eccezione std ::
mentre guardavo del codice mi sono imbattuto in: throw /*-->*/new std::exception ("//... e ho sempre pensato che non hai bisogno / non dovresti usare newqui. Qual è il modo corretto, sono entrambi OK, in caso affermativo c'è qualche differenza? A proposito, da quello che posso vedere mentre "grepping" con PowerShell …
113 c++  exception 


6
Esiste l'inferenza automatica del tipo in Java?
C'è un autotipo di variabile in Java come quello che hai in C ++? Un esempio: for ( auto var : object_array) std::cout << var << std::endl; for( auto var : object_array) var.do_something_that_only_this_particular_obj_can_do(); So che esiste un ciclo for migliorato in Java, ma esiste un'auto? In caso contrario, c'è un …
113 java  c++  auto 

6
Perché possiamo usare `std :: move` su un oggetto` const`?
In C ++ 11 possiamo scrivere questo codice: struct Cat { Cat(){} }; const Cat cat; std::move(cat); //this is valid in C++11 quando chiamo std::move, significa che voglio spostare l'oggetto, cioè cambierò l'oggetto. Spostare un constoggetto è irragionevole, quindi perché std::movenon limitare questo comportamento? Sarà una trappola in futuro, giusto? …
113 c++  c++11 

9
Qual è il modo preferito / idiomatico per inserire in una mappa?
Ho identificato quattro diversi modi per inserire elementi in un std::map: std::map<int, int> function; function[0] = 42; function.insert(std::map<int, int>::value_type(0, 42)); function.insert(std::pair<int, int>(0, 42)); function.insert(std::make_pair(0, 42)); Quale di questi è il modo preferito / idiomatico? (E c'è un altro modo a cui non ho pensato?)
113 c++  stl  insert  stdmap  std-pair 




4
Cout è sincronizzato / thread-safe?
In generale presumo che i flussi non siano sincronizzati, spetta all'utente eseguire il blocco appropriato. Tuttavia, cose come coutottenere un trattamento speciale nella libreria standard? Cioè, se più thread stanno scrivendo, coutpossono danneggiare l' coutoggetto? Capisco che anche se sincronizzato avresti comunque un output interlacciato casualmente, ma è quell'interlacciamento garantito. …
112 c++  gcc  c++11 

20
Come puoi iterare sugli elementi di una std :: tuple?
Come posso iterare su una tupla (usando C ++ 11)? Ho provato quanto segue: for(int i=0; i<std::tuple_size<T...>::value; ++i) std::get<i>(my_tuple).do_sth(); ma questo non funziona: Errore 1: mi dispiace, non implementato: impossibile espandere "Listener ..." in un elenco di argomenti di lunghezza fissa. Errore 2: non posso apparire in un'espressione costante. Quindi, …


9
Perché lanciare valori di ritorno inutilizzati su void?
int fn(); void whatever() { (void) fn(); } C'è qualche motivo per annullare un valore di ritorno inutilizzato o ho ragione a pensare che sia una completa perdita di tempo? Azione supplementare: Bene, sembra abbastanza completo. Suppongo che sia meglio che commentare un valore di ritorno inutilizzato poiché il codice …
112 c++  c  void 


6
abortire, terminare o uscire?
Qual è la differenza tra questi tre e come devo terminare il programma in caso di eccezione che non riesco a gestire correttamente?
112 c++ 

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.