Preguntas etiquetadas con c++

Preguntas sobre C ++, un lenguaje de programación de tipo general, compilado, de tipo estático, de forma libre, multi-paradigma.


13
¿Es razonable proteger nulo cada puntero desreferenciado?
En un nuevo trabajo, me han marcado en revisiones de código para código como este: PowerManager::PowerManager(IMsgSender* msgSender) : msgSender_(msgSender) { } void PowerManager::SignalShutdown() { msgSender_->sendMsg("shutdown()"); } Me dijeron que el último método debería leer: void PowerManager::SignalShutdown() { if (msgSender_) { msgSender_->sendMsg("shutdown()"); } } es decir, que debe poner un NULLguardia …

3
¿Por qué necesitamos poner miembros privados en encabezados?
Las variables privadas son una forma de ocultar la complejidad y los detalles de implementación para el usuario de una clase. Esta es una característica bastante agradable. Pero no entiendo por qué en c ++ necesitamos ponerlos en el encabezado de una clase. Veo dos inconvenientes molestos para esto: Abarrota …
62 c++  headers 



10
¿Es mejor Show () + Hide () o SetVisible (bool visible)?
¿Qué es mejor y por qué? (Desde el punto de vista del diseño de la interfaz): a) Tener dos Show()y Hide()funciones b) Tener una SetVisible(bool visible)función EDITAR: Por ejemplo, algún objeto tiene estado de visibilidad y esta función se utiliza para cambiarlo. c) tener los tres Show(), Hide(), SetVisible(bool visible)funciones
59 java  c++  interfaces 

9
std :: shared_ptr como último recurso?
Estaba viendo las transmisiones de "Going Native 2012" y me di cuenta de la discusión std::shared_ptr. Me sorprendió un poco escuchar la opinión algo negativa de Bjarne std::shared_ptry su comentario de que debería usarse como "último recurso" cuando el tiempo de vida de un objeto es incierto (lo cual creo …

13
Filosofía detrás del comportamiento indefinido
Las especificaciones C \ C ++ dejan fuera una gran cantidad de comportamientos abiertos para que los compiladores los implementen a su manera. Hay una serie de preguntas que siempre se siguen haciendo aquí sobre lo mismo y tenemos algunas publicaciones excelentes al respecto: https://stackoverflow.com/questions/367633/what-are-all-the-common-undefined-behaviour-that-ac-programmer-should-know-abo https://stackoverflow.com/questions/4105120/what-is-undefined-behavior https://stackoverflow.com/questions/4176328/undefined-behavior-and-sequence-points Mi pregunta no …


11
Una revisión moderna de Java [cerrado]
He estado programando durante algunos años y comencé en Java, y en mi tiempo he encontrado muchas fuentes diferentes que afirman que Java es un lenguaje inferior de una manera u otra. Soy consciente de que cada idioma tiene sus fortalezas y debilidades, pero muchas de las cosas que he …



7
¿Por qué hay tantas clases de cadenas frente a std :: string?
Me parece que muchas bibliotecas C ++ más grandes terminan creando su propio tipo de cadena. En el código de cliente que o bien tiene que usar el uno de la biblioteca ( QString, CString, fbstringetc., estoy seguro de que nadie puede nombrar algunos) o mantener la conversión entre el …
56 c++ 

3
¿Qué es una lambda y por qué sería útil? [cerrado]
Hasta ahora escuché sobre: Cálculo lambda Programación lambda Expresiones lambda Funciones lambda Todo lo cual parece estar relacionado con la programación funcional ... Aparentemente se integrará en C ++ 1x, por lo que podría entenderlo ahora: http://en.wikipedia.org/wiki/C%2B%2B0x#Lambda_functions_and_expressions ¿Alguien puede definir brevemente qué son las cosas lambdas y dar un lugar …

15
¿Por qué tenemos un incremento de postfix?
Descargo de responsabilidad : conozco perfectamente la semántica del incremento de prefijo y postfijo. Así que por favor no me expliquen cómo funcionan. Al leer las preguntas sobre el desbordamiento de la pila, no puedo evitar notar que los programadores se confunden con el operador de incremento de postfix una …
55 c++  c  postfix 

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.