Preguntas etiquetadas con c++11

384
¿Qué es std :: promise?

Estoy bastante familiarizado con C ++ 11 del std::thread, std::asyncy std::futurelos componentes (por ejemplo, véase esta respuesta ), que son sencillas. Sin embargo, no puedo entender qué std::promisees, qué hace y en qué situaciones se usa mejor. El documento estándar en sí no contiene mucha...

369
C ++ plantilla typedef

Tengo una clase template<size_t N, size_t M> class Matrix { // .... }; Quiero hacer un typedefque cree un Vector(vector de columna) que sea equivalente a a Matrixcon tamaños N y 1. Algo así: typedef Matrix<N,1> Vector<N>; Lo que produce un error de compilación. Lo siguiente...

367
Devolver unique_ptr de funciones

unique_ptr<T>no permite la construcción de copias, sino que admite la semántica de movimiento. Sin embargo, puedo devolver un unique_ptr<T>de una función y asignar el valor devuelto a una variable. #include <iostream> #include <memory> using namespace

367
Compilar C ++ 11 con g ++

Estoy tratando de actualizar mi compilador de C ++ a C ++ 11. He buscado un poco y he llegado a la conclusión de que tengo que usar la bandera -std=c++0xo -std=gnu++0x, pero no sé muchas cosas sobre las banderas. ¿Alguien puede ayudarme? (Estoy usando Ubuntu 12.04.) Aquí está el error que obtengo...

356
¿Cómo activo C ++ 11 en CMake?

Cuando intento ejecutar un archivo MAKE generado por CMake para compilar mi programa, aparece el error que el rango basado en bucles no se admite en el modo C ++ 98. Traté de agregar add_definitions(-std=c++0x)a mi CMakeLists.txt, pero no me ayudó. Intenté esto

337
¿Cuándo debe usar la capacidad constexpr en C ++ 11?

Me parece que tener una "función que siempre devuelve 5" es romper o diluir el significado de "llamar a una función". Debe haber una razón, o una necesidad de esta capacidad o no estaría en C ++ 11. ¿Por qué está ahí? // preprocessor. #define MEANING_OF_LIFE 42 // constants: const int...

321
C ++ 11 de bucle for basado en rango inverso

¿Hay un adaptador de contenedor que invierta la dirección de los iteradores para que pueda iterar sobre un contenedor en reversa con un bucle for basado en rango? Con iteradores explícitos convertiría esto: for (auto i = c.begin(); i != c.end(); ++i) { ... dentro de esto: for (auto i =...

294
Iniciar hilo con función miembro

Estoy tratando de construir una función std::threadcon un miembro que no tome argumentos y devuelva void. No puedo entender ninguna sintaxis que funcione: el compilador se queja sin importar qué. ¿Cuál es la forma correcta de implementar spawn()para que devuelva un std::threadque se ejecuta...

276
Diferencia en make_shared y normal shared_ptr en C ++

std::shared_ptr<Object> p1 = std::make_shared<Object>("foo"); std::shared_ptr<Object> p2(new Object("foo")); Muchas publicaciones de google y stackoverflow están ahí, pero no puedo entender por qué make_sharedes más eficiente que usarlo directamente shared_ptr. ¿Alguien puede...

271
¿Cómo es "int main () {(([] () {}) ())}} válido C ++?

Recientemente me encontré con el siguiente código esotérico. int main(){(([](){})());} Vuelva a formatearlo de la siguiente manera para que sea más legible: int main(){ (([](){})()); // Um... what?!?! } Pero no puedo entender cómo (([](){})())es el código válido. No se parece a la sintaxis...

270
¿Por qué C ++ no tiene un recolector de basura?

No estoy haciendo esta pregunta debido a los méritos de la recolección de basura en primer lugar. Mi razón principal para preguntar esto es que sé que Bjarne Stroustrup ha dicho que C ++ tendrá un recolector de basura en algún momento. Dicho esto, ¿por qué no se ha agregado? Ya hay algunos...