Descomponer numero en factores..

Iniciado por ThePinkPanther, 12 Febrero 2013, 00:52 AM

0 Miembros y 1 Visitante están viendo este tema.

rir3760

Cita de: BatchianoISpyxolo en 13 Febrero 2013, 22:43 PM
CitarIf T is a const-qualified type, or a (possibly cv-qualified) POD class type (or array thereof) containing (directly or indirectly) a member of const-qualified type, the program is ill-formed.
No entiendo el sentido de la cita. ¿Puedes aclararlo por favor?

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

BatchianoISpyxolo

Cita de: rir3760 en 14 Febrero 2013, 02:02 AM

No entiendo el sentido de la cita. ¿Puedes aclararlo por favor?

Un saludo

A mi entender, es que si tienes estructuras o clases básicas (PODS), éstos carecen de inicializadores y, por tanto, el programa está mal formado.
Puede que desees aprender a programar desde 0: www.espascal.es

rir3760

Cita de: BatchianoISpyxolo en 14 Febrero 2013, 02:15 AMsi tienes estructuras o clases básicas (PODS), éstos carecen de inicializadores y, por tanto, el programa está mal formado.
No. Si revisamos el tema que mencione con cuidado:
CitarParagraph 5.3.4/15 states that

A new-expression that creates an object of type T initializes that object as follows:

[...]

* If the new-initializer is of the form (), the item is value-initialized (8.5)

where value initialized for POD means zero-initialize
.

[...]

If the new-initializer is omitted:

* If T is a (possibly cv-qualified) non-POD class type (or array thereof), the object is default-initialized (8.5). If T is a const-qualified type, the underlying class type shall have a user-declared default constructor.

* Otherwise, the object created has indeterminate value. If T is a const-qualified type, or a (possibly cv-qualified) POD class type (or array thereof) containing (directly or indirectly) a member of const-qualified type, the program is ill-formed;

En resumen:

* Si se utiliza el inicializador "()" en el caso de PODs su resultado es la asignación del valor 0.

* Si se omite el inicializador el valor almacenado es no determinado.

"ill-formed" solo aplica si 1) Se omite el inicializador y 2) el objeto esta calificado (directa o indirectamente) con el calificador const.

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language