Preguntas etiquetadas con c++

92
¿El uso de assert () en C ++ es una mala práctica?

Tiendo a agregar muchas afirmaciones a mi código C ++ para facilitar la depuración sin afectar el rendimiento de las versiones de lanzamiento. Ahora, assertes una macro C pura diseñada sin los mecanismos de C ++ en mente. C ++, por otro lado std::logic_error, define , que debe lanzarse en los...

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

92
Capacidad inicial de vector en C ++

¿Cuál es el capacity()de un std::vectorque se crea usando el constructor predeterminado? Sé que size()es cero. ¿Podemos afirmar que un vector construido por defecto no llama asignación de memoria de pila? De esta manera sería posible crear una matriz con una reserva arbitraria utilizando una...

92
Eliminar un puntero en C ++

Contexto: Estoy tratando de entender los consejos, los vimos hace un par de semanas en la escuela y mientras practicaba hoy me encontré con un tonto problema, puede ser muy sencillo para usted, pero tengo poca o ninguna experiencia en programación. He visto bastantes preguntas en SO sobre la...

92
¿Qué significa “usar ODR” algo?

Esto acaba de surgir en el contexto de otra pregunta . Aparentemente, las funciones miembro en las plantillas de clase solo se instancian si se utilizan ODR. ¿Alguien podría explicar qué significa eso exactamente? El artículo de Wikipedia sobre la regla de una definición (ODR) no menciona el "...

92
¿Que significa?

Tengo 2 clases: class base { virtual void foo() {}; }; class derived : public base { void foo() { base::foo(); } }; Cometí un error y escribí en base:foo();lugar de base::foo();. El código fue compilado y ejecutado, pero segmentado. No sé cómo puedo buscarlo en Google y no sé qué es, pero...

92
¿Es ((a + (b & 255)) & 255) lo mismo que ((a + b) & 255)?

Estaba navegando en un código C ++ y encontré algo como esto: (a + (b & 255)) & 255 El doble Y me molestó, así que pensé en: (a + b) & 255 ( ay bson enteros sin signo de 32 bits) Escribí rápidamente un script de prueba (JS) para confirmar mi teoría: for (var i = 0; i <...

92
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;