Pytania oznaczone «c++11»

117
Jak włączyć C ++ 11 w gcc?

Używam gcc 4.8.1 z http://hpc.sourceforge.net na Mac OSX Mountain Lion. Próbuję skompilować program C ++, który używa rozszerzeniato_string funkcji w <string>. Za -std=c++11każdym razem muszę używać flagi : g++ -std=c++11 -o testcode1 code1.cpp Czy istnieje sposób na włączenie tej flagi...

116
przy użyciu szablonu zewnętrznego (C ++ 11)

Rysunek 1: szablony funkcji TemplHeader.h template<typename T> void f(); TemplCpp.cpp template<typename T> void f(){ //... } //explicit instantation template void f<T>(); Main.cpp #include "TemplHeader.h" extern template void f<T>(); //is this correct? int main() {...

113
Dlaczego możemy użyć „std :: move” na obiekcie „const”?

W C ++ 11 możemy napisać taki kod: struct Cat { Cat(){} }; const Cat cat; std::move(cat); //this is valid in C++11 kiedy dzwonię std::move, to znaczy, że chcę przesunąć obiekt, czyli zmienię obiekt. Przesuwanie constobiektu jest nierozsądne, więc dlaczego std::movenie ogranicza tego...

113
Jak zwięźle, przenośnie i dokładnie obsiać mt19937 PRNG?

Wydaje mi się, że widzę wiele odpowiedzi, w których ktoś sugeruje użycie <random>do generowania liczb losowych, zwykle wraz z takim kodem: std::random_device rd; std::mt19937 gen(rd()); std::uniform_int_distribution<> dis(0, 5); dis(gen); Zwykle zastępuje to jakąś „przeklętą...

112
Czy klasę wyliczenia można przekonwertować na typ bazowy?

Czy istnieje sposób na przekonwertowanie enum classpola na typ bazowy? Myślałem, że to będzie automatyczne, ale najwyraźniej nie. enum class my_fields : unsigned { field = 1 }; unsigned a = my_fields::field; To przypisanie jest odrzucane przez GCC. error: cannot convert 'my_fields' to 'unsigned...

112
Czy cout jest zsynchronizowany / bezpieczny dla wątków?

Generalnie zakładam, że strumienie nie są zsynchronizowane, to do użytkownika należy odpowiednie zablokowanie. Czy jednak takie rzeczy jak coutbiblioteka standardowa są traktowane w specjalny sposób? Oznacza to, że jeśli wiele wątków pisze do, coutczy mogą uszkodzić coutobiekt? Rozumiem, że nawet...