Preguntas etiquetadas con c++

89
C ++: imprime el valor de enumeración como texto

Si tengo una enumeración como esta enum Errors {ErrorA=0, ErrorB, ErrorC}; Entonces quiero imprimir en la consola Errors anError = ErrorA; cout<<anError;/// 0 will be printed pero lo que quiero es el texto "ErrorA", ¿puedo hacerlo sin usar if / switch? ¿Y cuál es tu solución para...

89
shared_ptr magia :)

El Sr. Lidström y yo tuvimos una discusión :) La afirmación del Sr. Lidström es que una construcción shared_ptr<Base> p(new Derived);no requiere que Base tenga un destructor virtual: Armen Tsirunyan : "¿En serio? ¿El shared_ptr se limpiará correctamente? ¿Podrías demostrar en este caso...

89
CMake no puede determinar el lenguaje del enlazador con C ++

Estoy intentando ejecutar un programa cmake hello world en Windows 7 x64 con Visual Studio 2010 y Cygwin, pero parece que ninguno de los dos funciona. Mi estructura de directorio es la siguiente: HelloWorld -- CMakeLists.txt -- src/ -- -- CMakeLists.txt -- -- main.cpp -- build/ Hago una cd...

89
¿Qué haría 'std :;' hacer en c ++?

Recientemente estuve modificando un código y encontré un error preexistente en una línea dentro de una función: std:;string x = y; Este código aún se compila y funciona como se esperaba. La definición de cadena funciona porque este archivo lo es using namespace std;, por lo que std::era...

89
¿Qué es exactamente la regla "como si"?

Como dice el título, ¿Qué es exactamente la regla "como si"? Una respuesta típica que se obtendría es: La regla que permite todas y cada una de las transformaciones de código que no cambian el comportamiento observable del programa. De vez en cuando seguimos obteniendo...

89
Cómo hacer una typedef condicional en C ++

Estoy tratando de hacer algo como esto: #include <iostream> #include <random> typedef int Integer; #if sizeof(Integer) <= 4 typedef std::mt19937 Engine; #else typedef std::mt19937_64 Engine; #endif int main() { std::cout << sizeof(Integer) << std::endl; return...

89
Compilar código multiproceso con g ++

Tengo el código más fácil de todos: #include <iostream> #include <thread> void worker() { std::cout << "another thread"; } int main() { std::thread t(worker); std::cout << "main thread" << std::endl; t.join(); return 0; } aunque todavía no puedo compilarlo...

89
¿Por qué memmove es más rápido que memcpy?

Estoy investigando puntos críticos de rendimiento en una aplicación que pasa el 50% de su tiempo en memmove (3). La aplicación inserta millones de enteros de 4 bytes en matrices ordenadas y utiliza memmove para desplazar los datos "hacia la derecha" para dejar espacio para el valor...

89
¿Qué es const void?

La descripción de std::is_voidestablece que: Proporciona el valor de la constante del miembro que es igual a verdadero, si T es del tipo void, const void, volatile void o const volatile void. Entonces, ¿qué podría ser const void, o un volatile void? Esta respuesta indica que el const...

89
¿Cómo funciona la elisión de copia garantizada?

En la reunión de estándares ISO C ++ de Oulu de 2016, el comité de estándares votó en C ++ 17 una propuesta llamada elisión de copia garantizada a través de categorías de valor simplificadas . ¿Cómo funciona exactamente la elisión de copia garantizada? ¿Cubre algunos casos en los que ya se...