Autor
|
Tema: Duda sobre progrmacion C++ (Leído 4,309 veces)
|
lJvRl
Desconectado
Mensajes: 7
|
Alguien sabe cuál es la diferencia entre estas tres funciones? const A * function(); A* const function(); A const * function();
Gracias por adelantado!!
|
|
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
Alguien sabe cuál es la diferencia entre estas tres funciones? ¿Es tu tarea? De las tres declaraciones dos de ellas son iguales (en ellas el orden de los calificadores no afecta). Básicamente es un ejercicio para practicar con los tipos A) puntero a objeto constante y B) puntero constante a objeto. Un saludo
|
|
|
En línea
|
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
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
La primera es una funcion que devuelve un puntero a un objeto constante.
La segunda es una función que devuelve un puntero constante.
La tercera es una variedad sintáctica de la segunda (se te permite poner el * en el tipo o en el const).
|
|
|
En línea
|
|
|
|
BlackM4ster
Desconectado
Mensajes: 499
Error, el teclado no funciona. Pulse F1 para continuar
|
A const * function(); <- Esto ni compila const A * function(); <- A es una constante (no cambia el valor en todo el programa) que se multiplica con el resultado de funcion A* const function(); <- Lo mismo que la segunda
|
|
|
En línea
|
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
A const * function(); <- Esto ni compila const A * function(); <- A es una constante (no cambia el valor en todo el programa) que se multiplica con el resultado de funcion A* const function(); <- Lo mismo que la segunda Todas compilan (al menos en C++). Y estamos hablando de declaraciones, no de operaciones
|
|
|
En línea
|
|
|
|
BlackM4ster
Desconectado
Mensajes: 499
Error, el teclado no funciona. Pulse F1 para continuar
|
Alguien sabe cuál es la diferencia entre estas tres funciones?
Seguro que son declaraciones? por que parecen operaciones...
|
|
|
En línea
|
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
Seguro que son declaraciones? por que parecen operaciones...
Nada más por el punto y coma se ve que son declaraciones de prototipos. Por otro lado no se puede usar const en una operación, en todo caso podrías hacer un cast (const int).
|
|
|
En línea
|
|
|
|
lJvRl
Desconectado
Mensajes: 7
|
que cracks!!!
Muchas gracias a todos!
|
|
|
En línea
|
|
|
|
lJvRl
Desconectado
Mensajes: 7
|
La primera es una funcion que devuelve un puntero a un objeto constante.
La segunda es una función que devuelve un puntero constante.
La tercera es una variedad sintáctica de la segunda (se te permite poner el * en el tipo o en el const).
Una pregunta: la tercera es una variedad sintactica de la segunda o de la primera? Es que he visto esta web: http://www.zator.com/Cpp/E4_2_1e.htm Y me ha parecido esto. Gracias!!
|
|
|
En línea
|
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
De las segunda. Pero me refiero al orden que has puesto en el primer post.
|
|
|
En línea
|
|
|
|
|
|