Domande taggate «c++11»

Utilizzare questo tag per il codice che deve essere compilato come C ++ 11 (non utilizzando alcuna funzionalità introdotta in C ++ 14 o successive).

8
Ottimizzare un "while (1);" in C ++ 0x
Aggiornato, vedi sotto! Ho sentito e letto che C ++ 0x consente a un compilatore di stampare "Hello" per il seguente frammento #include <iostream> int main() { while(1) ; std::cout << "Hello" << std::endl; } Apparentemente ha qualcosa a che fare con i thread e le capacità di ottimizzazione. Mi …


6
Cosa succede a un thread separato quando esce main ()?
Supponiamo che io stia iniziando un std::threade quindi detach(), quindi il thread continua l'esecuzione anche se quello std::threadche una volta lo rappresentava, va fuori portata. Supponiamo inoltre che il programma non disponga di un protocollo affidabile per unire il thread separato 1 , quindi il thread disconnesso continua a funzionare …

6
Perché dovrei std :: move an std :: shared_ptr?
Ho cercato il codice sorgente di Clang e ho trovato questo frammento: void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = std::move(Value); } Perché dovrei voler std::moveun std::shared_ptr? C'è qualche punto che trasferisce la proprietà su una risorsa condivisa? Perché non dovrei fare questo invece? void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = …


1
Cosa succede se static_cast non è valido per enumare la classe?
Considera questo codice C ++ 11: enum class Color : char { red = 0x1, yellow = 0x2 } // ... char *data = ReadFile(); Color color = static_cast<Color>(data[0]); Supponiamo che i dati [0] siano in realtà 100. Qual è il colore impostato secondo lo standard? In particolare, se lo …
146 c++  c++11 

4
Utilizzo della variabile membro nell'elenco di acquisizione lambda all'interno di una funzione membro
Il codice seguente viene compilato con gcc 4.5.1 ma non con VS2010 SP1: #include <iostream> #include <vector> #include <map> #include <utility> #include <set> #include <algorithm> using namespace std; class puzzle { vector<vector<int>> grid; map<int,set<int>> groups; public: int member_function(); }; int puzzle::member_function() { int i; for_each(groups.cbegin(),groups.cend(),[grid,&i](pair<int,set<int>> group){ i++; cout<<i<<endl; }); } …

12
Perché qualcuno dovrebbe usare set invece di unordered_set?
C ++ 0x sta introducendo unordered_setche è disponibile in booste in molti altri luoghi. Quello che capisco è che unordered_setè una tabella hash con O(1)complessità di ricerca. D'altra parte, setnon è altro che un albero con log(n)complessità di ricerca. Perché mai qualcuno dovrebbe usare setinvece di unordered_set? cioè c'è bisogno …

1
Qual è la logica dietro la parola chiave "using" in C ++?
Qual è la logica dietro la parola chiave "using" in C ++? Viene utilizzato in diverse situazioni e sto cercando di scoprire se tutti hanno qualcosa in comune e c'è un motivo per cui la parola chiave "using" viene utilizzata come tale. using namespace std; // to import namespace in …
145 c++  c++11 

7
Parola chiave automatica C ++. Perché è magico?
Da tutto il materiale che ho usato per imparare il C ++, autoè sempre stato uno strano identificatore della durata della memoria che non ha avuto alcuno scopo. Ma solo di recente ho riscontrato codice che lo utilizzava come nome di tipo in sé e per sé. Per curiosità l'ho …
144 c++  types  c++11  auto 



14
Funzioni lambda ricorsive in C ++ 11
Sono nuovo di C ++ 11. Sto scrivendo la seguente funzione lambda ricorsiva, ma non viene compilata. sum.cpp #include <iostream> #include <functional> auto term = [](int a)->int { return a*a; }; auto next = [](int a)->int { return ++a; }; auto sum = [term,next,&sum](int a, int b)mutable ->int { if(a>b) …
143 c++  c++11  lambda 



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.