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).





4
¿Por qué usaría push_back en lugar de emplace_back?
Los vectores C ++ 11 tienen la nueva función emplace_back. A diferencia push_back, que se basa en las optimizaciones del compilador para evitar copias, emplace_backutiliza el reenvío perfecto para enviar los argumentos directamente al constructor para crear un objeto en el lugar. Me parece que emplace_backhace todo lo que push_backpuede …
232 c++  c++11  std 


10
¿Se pueden modelar las funciones lambda?
En C ++ 11, ¿hay alguna forma de modelar una función lambda? ¿O es inherentemente demasiado específico para ser tentado? Entiendo que en su lugar puedo definir una clase / functor clásico con plantilla, pero la pregunta es más como: ¿permite el lenguaje crear plantillas de funciones lambda?
230 c++  templates  lambda  c++11 

4
¿Qué tipo de puntero uso cuando?
Ok, entonces la última vez que escribí C ++ para ganarme la vida, std::auto_ptrera todo lo que tenía disponible la biblioteca estándar , y boost::shared_ptrestaba de moda. Realmente nunca examiné el aumento de otros tipos de punteros inteligentes proporcionados. Entiendo que C ++ 11 ahora proporciona algunos de los tipos …

10
¿Qué cambios importantes se introducen en C ++ 11?
Sé que al menos uno de los cambios en C ++ 11 que hará que algún código antiguo deje de compilarse: la introducción de explicit operator bool()en la biblioteca estándar, la sustitución de instancias antiguas de operator void*(). De acuerdo, el código que esto romperá es probablemente un código que …
227 c++  c++11 




2
¿Por qué no puedo retroceder un_ptr_unico en un vector?
¿Qué tiene de malo este programa? #include <memory> #include <vector> int main() { std::vector<std::unique_ptr<int>> vec; int x(1); std::unique_ptr<int> ptr2x(&x); vec.push_back(ptr2x); //This tiny command has a vicious error. return 0; } El error: In file included from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/mingw32/bits/c++allocator.h:34:0, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/allocator.h:48, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/memory:64, from main.cpp:6: c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/unique_ptr.h: In member function 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const …

6
make_unique y reenvío perfecto
¿Por qué no hay std::make_uniqueuna plantilla de función en la biblioteca estándar de C ++ 11? Encuentro std::unique_ptr<SomeUserDefinedType> p(new SomeUserDefinedType(1, 2, 3)); Un poco detallado. ¿No sería mucho mejor lo siguiente? auto p = std::make_unique<SomeUserDefinedType>(1, 2, 3); Esto oculta newmuy bien y solo menciona el tipo una vez. De todos …


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.