Articles of c ++ faq

¿Qué es un “lapso” y cuándo debería usar uno?

Recientemente recibí sugerencias para usar span en mi código, o he visto algunas respuestas aquí en el sitio que usan span , supuestamente algún tipo de contenedor. Pero, no puedo encontrar nada parecido en la biblioteca estándar de C ++. Entonces, ¿qué es este misterioso span y por qué (o cuándo) es una buena idea […]

Sobrecarga de operadores de acceso a miembros ->,. * (C ++)

Entiendo que la mayoría de las sobrecargas del operador, con la excepción de los operadores de acceso a miembros -> .* , ->* etc. En particular, ¿qué se pasa a estas funciones del operador y qué se debe devolver? ¿Cómo funciona el operador (por ejemplo, operator->(…) ) saber a qué miembro se está haciendo referencia? […]

Copiar constructor y = sobrecarga del operador en C ++: ¿es posible una función común?

Desde un constructor de copia MyClass(const MyClass&); y an = sobrecarga del operador MyClass& operator = (const MyClass&); tienen casi el mismo código, el mismo parámetro, y solo difieren en el retorno, ¿es posible tener una función común para ambos?

¿Const significa hilo seguro en C ++ 11?

Escuché que const significa thread-safe en C ++ 11 . ¿Es eso cierto? ¿ const significa que const ahora es el equivalente de Java synchronized ? ¿Se están quedando sin palabras clave ?

Destrucción de objetos en C ++

¿Cuándo exactamente se destruyen los objetos en C ++, y qué significa eso? ¿Debo destruirlos manualmente, ya que no hay Recolector de basura? ¿Cómo entran en juego las excepciones? (Nota: Esto debe ser una entrada a las preguntas frecuentes de C ++ de Stack Overflow . Si desea criticar la idea de proporcionar una pregunta […]

¿Es el lenguaje seguro-bool obsoleto en C ++ 11?

Esta respuesta de @R. Martinho Fernandes muestra que el lenguaje seguro-bool aparentemente está obsoleto en C ++ 11, ya que puede ser reemplazado por un simple explicit operator bool() const; de acuerdo con la cita estándar en la respuesta §4 [conv] p3 : Una expresión e puede convertirse implícitamente en un tipo T si y […]

Comportamiento indefinido y puntos de secuencia recargados

Considere este tema como una continuación del siguiente tema: Cuota anterior Comportamiento indefinido y puntos de secuencia Volvamos a esta expresión divertida y enrevesada (las frases en cursiva están tomadas del tema anterior * smile *): i += ++i; Decimos que esto invoca un comportamiento indefinido. Supongo que cuando dice esto, suponemos implícitamente que ese […]

¿La práctica de devolver una variable de referencia de C ++ es mala?

Esto es un poco subjetivo, creo; No estoy seguro de si la opinión será unánime (he visto una gran cantidad de fragmentos de código donde se devuelven las referencias). De acuerdo con un comentario sobre esta pregunta que acabo de hacer, con respecto a la inicialización de referencias , devolver una referencia puede ser malo […]

¿Cuáles son todas las funciones miembro creadas por el comstackdor para una clase? ¿Eso sucede todo el tiempo?

¿Cuáles son todas las funciones miembro creadas por el comstackdor para una clase? ¿Eso sucede todo el tiempo? como destructor. Mi preocupación es si se creó para todas las clases, y ¿por qué es necesario el constructor predeterminado?

¿Qué implementaciones de C ++ Smart Pointer están disponibles?

Comparaciones, pros, contras y cuándo usarlos Este es un spin-off de un hilo de recolección de basura donde lo que pensé que era una respuesta simple generaba muchos comentarios sobre algunas implementaciones específicas de punteros inteligentes, por lo que parecía que valía la pena comenzar una nueva publicación. En última instancia, la pregunta es: ¿cuáles […]