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
Pasando shared_ptr <Derived> como shared_ptr <Base>
¿Cuál es el mejor método para pasar a shared_ptrde un tipo derivado a una función que toma a shared_ptrde un tipo base? Generalmente paso shared_ptrs por referencia para evitar una copia innecesaria: int foo(const shared_ptr&lt;bar&gt;&amp; ptr); pero esto no funciona si trato de hacer algo como int foo(const shared_ptr&lt;Base&gt;&amp; ptr); …


2
Implementación lambda de C ++ 11 y modelo de memoria
Me gustaría obtener información sobre cómo pensar correctamente sobre los cierres de C ++ 11 y std::functionen términos de cómo se implementan y cómo se maneja la memoria. Aunque no creo en la optimización prematura, tengo la costumbre de considerar detenidamente el impacto en el rendimiento de mis elecciones al …
92 c++  memory  lambda  c++11 

6
error :: make_unique no es miembro de 'std'
Estoy tratando de compilar el siguiente programa de grupo de subprocesos publicado en la revisión del código para probarlo. /codereview/55100/platform-independant-thread-pool-v4 Pero estoy recibiendo los errores threadpool.hpp: In member function ‘std::future&lt;decltype (task((forward&lt;Args&gt;)(args)...))&gt; threadpool::enqueue_task(Func&amp;&amp;, Args&amp;&amp; ...)’: threadpool.hpp:94:28: error: ‘make_unique’ was not declared in this scope auto package_ptr = make_unique&lt;task_package_impl&lt;R, decltype(bound_task)&gt;&gt; (std::move(bound_task), std::move(promise)); …

3
Constexpr vs macros
¿Dónde debería preferir usar macros y dónde debería preferir constexpr ? ¿No son básicamente iguales? #define MAX_HEIGHT 720 vs constexpr unsigned int max_height = 720;
92 c++  c++11  macros  constexpr 








5
¿Por qué una lambda tiene un tamaño de 1 byte?
Estoy trabajando con la memoria de algunas lambdas en C ++, pero estoy un poco desconcertado por su tamaño. Aquí está mi código de prueba: #include &lt;iostream&gt; #include &lt;string&gt; int main() { auto f = [](){ return 17; }; std::cout &lt;&lt; f() &lt;&lt; std::endl; std::cout &lt;&lt; &amp;f &lt;&lt; std::endl; std::cout …
89 c++  c++11  lambda  c++14  sizeof 

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.