Quali sono le classi di eccezione incluse nella libreria C ++ standard e per cosa dovrebbero essere utilizzate? So che ci sono alcune nuove eccezioni C ++ 11, ma non sono sicuro di cosa siano o dove siano.
È difficile dire cosa viene chiesto qui. Questa domanda è ambigua, vaga, incompleta, eccessivamente ampia o retorica e non può essere ragionevolmente risolta nella sua forma attuale. Per assistenza su come chiarire questa domanda in modo che possa essere riaperta, visita il Centro assistenza . Chiuso 9 anni fa . …
Esiste un modo per acquisire in base al valore e rendere il valore acquisito non const? Ho un funtore di libreria che vorrei catturare e chiamare un metodo che non è const ma dovrebbe esserlo. Quanto segue non si compila ma la creazione di foo :: operator () const lo …
Sto cercando di usare std :: regex in un pezzo di codice C ++ 11, ma sembra che il supporto sia un po 'bacato. Un esempio: #include <regex> #include <iostream> int main (int argc, const char * argv[]) { std::regex r("st|mt|tr"); std::cerr << "st|mt|tr" << " matches st? " << …
Mi sono ritrovato a scrivere questo solo un po 'fa: template <long int T_begin, long int T_end> class range_class { public: class iterator { friend class range_class; public: long int operator *() const { return i_; } const iterator &operator ++() { ++i_; return *this; } iterator operator ++(int) { …
In C ++ manca l'equivalente della parola chiave PHPself , che valuta il tipo della classe che lo racchiude. È abbastanza facile falsificarlo per classe: struct Foo { typedef Foo self; }; ma ho dovuto scrivere di Foonuovo. Forse un giorno sbaglierò questo e causerò un bug silenzioso. Posso usare …
Per supportare i tipi di chiave definiti dall'utente in std::unordered_set<Key>e std::unordered_map<Key, Value> si deve fornire operator==(Key, Key)un hash funtore: struct X { int id; /* ... */ }; bool operator==(X a, X b) { return a.id == b.id; } struct MyHash { size_t operator()(const X& x) const { return std::hash<int>()(x.id); …
Qual è il sovraccarico dei puntatori intelligenti rispetto ai normali puntatori in C ++ 11? In altre parole, il mio codice sarà più lento se utilizzo i puntatori intelligenti e, in tal caso, quanto più lento? In particolare, sto chiedendo informazioni su C ++ 11 std::shared_ptre std::unique_ptr. Ovviamente, le cose …
C'è qualche differenza tra throw()e noexceptdiverso dall'essere controllati rispettivamente in fase di esecuzione e in fase di compilazione? Questo articolo di Wikipedia C ++ 11 suggerisce che gli specificatori di lancio di C ++ 03 sono deprecati. Perché così, è in noexceptgrado di coprire tutto ciò in fase di compilazione? …
Stiamo sviluppando un software critico ad alte prestazioni in C ++. Lì abbiamo bisogno di una mappa hash simultanea e ne implementiamo una. Quindi abbiamo scritto un benchmark per capire quanto più lenta viene confrontata la nostra mappa hash simultanea std::unordered_map. Ma std::unordered_mapsembra essere incredibilmente lento ... Quindi questo è …
Ho qualche problema a capire la necessità di std::result_ofin C ++ 0x. Se ho capito bene, result_ofviene utilizzato per ottenere il tipo risultante di invocare un oggetto funzione con determinati tipi di parametri. Per esempio: template <typename F, typename Arg> typename std::result_of<F(Arg)>::type invoke(F f, Arg a) { return f(a); } …
Ho letto in diversi posti che usando i nuovi valori letterali di stringa di C ++ 11 potrebbe essere possibile calcolare l'hash di una stringa in fase di compilazione. Tuttavia, nessuno sembra essere pronto a dire che sarà possibile o come sarebbe stato fatto. È possibile? Come sarebbe l'operatore? Sono …
Con il nuovo ciclo for basato su intervalli possiamo scrivere codice come for(auto x: Y) {} Quale IMO è un enorme miglioramento da (per es.) for(std::vector<int>::iterator x=Y.begin(); x!=Y.end(); ++x) {} Può essere utilizzato per eseguire il loop su due loop simultanei, come la zipfunzione Pythons ? Per chi non ha …
Perché è necessario avere std::reference_wrapper? Dove dovrebbe essere utilizzato? In cosa è diverso da un semplice puntatore? Come le sue prestazioni si confrontano con un semplice puntatore?
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.