Articles of normas de

¿Sería razonable definir el orden de destrucción de los elementos vectoriales?

Sé que el orden de destrucción de elementos vectoriales no está definido por el estándar C ++ (ver Orden de destrucción de elementos de un std :: vector ) y vi que todos los comstackdores que verifiqué hacen esta destrucción de principio a fin, lo que me sorprende bastante desde entonces Las matrices dinámicas y […]

Comportamiento extraño de operadores de prefijo y postfijo

¿Por qué se permite la primera expresión, pero la segunda no? void test() { int a; ++a = getSomeInt(); a++ = getSomeInt(); } Quiero decir, ¿por qué está prohibido que el segundo sea un valor? El segundo tiene sentido y el primero no. En el primero incrementamos la variable e inmediatamente después de que damos […]

Estándares de C ++ (finalización de nueva línea de los archivos de origen)

Me refiero a: ¿Por qué los archivos de texto deben terminar con una nueva línea? Una de las respuestas cita el estándar C89. Lo que en resumen dicta que un archivo debe terminar con una nueva línea, que no está precedida inmediatamente por una barra invertida. ¿Se aplica eso al estándar más reciente de C […]

¿Dónde debería ubicarse la definición de una especialización explícita de una plantilla de clase en C ++?

Según [temp.spec] / 5 : Para una plantilla dada y un conjunto dado de argumentos de plantilla, … una especialización explícita se definirá como máximo una vez en un progtwig (según [basic.def.odr] ), y … la definición de una especialización explícita (completa) de una plantilla de clase no se puede colocar en un encabezado (de […]

std :: allocator construye / destruye frente a la nueva ubicación / p-> ~ T ()

Para un proyecto mío, estoy escribiendo algunos contenedores STL desde cero (tengo mis razones). Dado que estoy imitando la funcionalidad y las interfaces de la STL, estoy haciendo todo lo posible por cumplir con la política “si tiene el mismo nombre que una construcción estándar, se ajustará a la norma tanto como sea posible”. Entonces, […]

constructor de facetas local ignorado

El constructor de Facet locale : Construye una copia de otro, excepto la faceta de tipo Faceta (que generalmente se deduce del tipo de argumento) que se instala desde la faceta de argumento. Si la faceta es NULL, la configuración regional construida es una copia completa de otra. El local construido de esta manera no […]

¿Cuál es el mejor comstackdor de C ++ estándar, y con suerte gratis?

Saludos a todos en stackoverflow.com !! Entonces … soy un novato de C ++ que actualmente está tomando el tema de Estructuras de datos, y quiero consultar algo con ustedes: Desde que empecé a estudiar Ingeniería de Sistemas, he estado usando la última versión de Dev-C ++ para todos mis proyectos de progtwigción. Ha hecho […]

¿Por qué los comstackdores dan una advertencia sobre devolver una referencia a una variable de stack local si es un comportamiento indefinido?

El estándar de C ++ indica que devolver la referencia a una variable local (en la stack) es un comportamiento indefinido, entonces ¿por qué muchos (si no todos) de los comstackdores actuales solo dan una advertencia para hacerlo? struct A{ }; A& foo() { A a; return a; //gcc and VS2008 both give this a […]

¿Qué significa la en el párrafo de comportamiento no definido en el estándar de C ++?

Como señala el usuario Tony , hay una [Nota] en el párrafo 1.3.12 del dicho estándar de C ++ el comportamiento indefinido permisible abarca desde ignorar la situación completamente con resultados impredecibles, hasta comportarse durante la traducción o la ejecución del progtwig de una manera documentada característica del entorno … ¿No contradice esto la definición […]

Documentos estándar existentes de estilo y encoding

Se ha propuesto lo siguiente para un próximo proyecto de C ++. Estándares de encoding C ++, por Sutter y Alexandrescu Estándares de encoding JSF Air Vehicle C ++ Los elementos del estilo C ++ 3ª edición de C ++, por Scott Meyers ¿Hay otras opciones? ¿O es la lista anterior lo que se debe […]