Preguntas etiquetadas con c++11

Use esta etiqueta para el código que debe compilarse como C ++ 11 (sin usar ninguna característica introducida en C ++ 14 o posterior).

5
usando plantilla externa (C ++ 11)
Figura 1: plantillas de funciones 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() { f<char>(); return 0; } ¿Es esta la forma correcta de usar extern template, o utilizo …
116 c++  templates  c++11  extern 

4
¿Evitando la declaración if dentro de un bucle for?
Tengo una clase llamada Writerque tiene una función writeVectorcomo esta: void Drawer::writeVector(vector<T> vec, bool index=true) { for (unsigned int i = 0; i < vec.size(); i++) { if (index) { cout << i << "\t"; } cout << vec[i] << "\n"; } } Estoy tratando de no tener un código …








6
¿Por qué podemos usar `std :: move` en un objeto` const`?
En C ++ 11, podemos escribir este código: struct Cat { Cat(){} }; const Cat cat; std::move(cat); //this is valid in C++11 cuando llamo std::move, significa que quiero mover el objeto, es decir, cambiaré el objeto. Mover un constobjeto no es razonable, entonces, ¿por qué std::moveno restringe este comportamiento? Será …
113 c++  c++11 

4
¿Cout está sincronizado / es seguro para subprocesos?
En general, asumo que las transmisiones no están sincronizadas, depende del usuario hacer el bloqueo apropiado. Sin embargo, ¿cosas como coutrecibir un tratamiento especial en la biblioteca estándar? Es decir, si se escriben varios subprocesos, ¿ coutpueden dañar el coutobjeto? Entiendo que incluso si estuviera sincronizado, todavía obtendría una salida …
112 c++  gcc  c++11 


8
¿Cómo sembrar de manera sucinta, portátil y completa el mt19937 PRNG?
Me parece ver muchas respuestas en las que alguien sugiere usar <random>para generar números aleatorios, generalmente junto con un código como este: std::random_device rd; std::mt19937 gen(rd()); std::uniform_int_distribution<> dis(0, 5); dis(gen); Por lo general, esto reemplaza algún tipo de "abominación impía" como: srand(time(NULL)); rand()%6; Podríamos criticar la forma antigua argumentando que …
112 c++  c++11  random 

4
¿Se puede convertir una clase enum al tipo subyacente?
¿Hay alguna forma de convertir un enum classcampo al tipo subyacente? Pensé que esto sería automático, pero aparentemente no. enum class my_fields : unsigned { field = 1 }; unsigned a = my_fields::field; GCC está rechazando esa asignación. error: cannot convert 'my_fields' to 'unsigned int' in assignment.
112 c++  c++11 


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.