Devolver tipo creado por mi.

Started by Drumpi, April 20, 2011, 12:54:55 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

#15
Quote from: Mr Matsusaka on April 25, 2011, 06:37:35 AM
Por ejemplo,
static int ms_iArrayInts [];
Es un array de punteros en si.
En el momento que hacemos lo siguente:

ms_iArrayInts = new int [4];
Estamos creando 4 ints en memoria y asignando sus posiciones al array.

eso no significa ni son punteros, olvidate de lo que haga internamente, porque si pensamos en lo interno, entonces todos los lenguajes tienen punteros e incluso todos los lenguajes usan y tienen GOTO.
uno debe y puede decir que un lenguaje tiene o cual caracteristica si la tiene de cara al usuario, y que este pueda hacer uso de esta caracteristica con todas sus propiedades libremente.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

A mi me llaman Drumpi por aquí, Carlos en casa, pero sigo siendo un hombre :D

Lo de los arrays es un caso raro: más que array de punteros es un puntero a un tipo sin un espacio de memoria reservado (al menos, su equivalente en C). Se le puede asignar en cualquier momento un tamaño, y a partir de ahí es inamovible (aunque pensándolo bién, yo lo he hecho en C).
Pero si el array tiene dos dimensiones, ahí sí que entramos en terremo más allá de lo desconocido, porque entonces sí que es un array a punteros, y cada puntero puede generar un array o vector de un tamaño distinto. En C se pueden declarar arrays de 3x2, de 5x8 y de 9x4, y todas las filas tienen el mismo número de columnas, pero en Java, podemos tener un array de 5 posiciones, en las que la posición 1 tenga 3 valores, la 2 tener 5, la 3 tener 9... ;D

Vamos, como los array de strings de Bennu, pero sin problemas, y con un tamaño fijo una vez definido :D :D :D
Ya lo dije, java tiene un tratamiento de la memoria muy raro, todo es memoria dinámica y sin embargo no tiene sintaxis de punteros ;D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

#17
que un array no es un puntero...

insisten en confundir como internamente se maneja a lo que el dato es en si.

si nos ponemos asi, entonces podemos afirmar que todo lo que se guarde internamente en memoria es un puntero, y eso es un gran error, porque ahi todo, incluso cada variable de cualquier tipo se guarda en memoria... deberian entender que lo que haga un lenguaje internamente a Uds no les importa, lo que le debe importar a un programador es la parte visible y controlable, y en base a esa parte visible y controlable se puede decir que tiene y que no tiene.

si alguien me muestra que puedo acceder a cuaquier area de memoria o puedo con una variable recorrer las areas de memoria de otra variable (no solo el contenido), entonces ahi pueden decir que tiene punteros.

repito, java no tiene punteros.

e insisto, el caracteristica de que java no tiene punteros, si bien es un limitante en cuanto a potencia, es uno de sus fuertes en cuanto a estabilidad, que puede ocasionar una mala programacion de un usuario descuidado.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Mr Matsusaka

A ver a ver, que nadie dice que un array sea un puntero. Lo que digo (al menos yo) es que "los arrays en Java son arrays de punteros"

Recuerdas el primer ejemplo que te he dado?
Si copiamos un array A a un array B, y luego cambiamos algun dato del array B tambien sera automaticamente cambiado en A.
Porque? Porque tanto A como B son arrays de punteros que señalan una parte de la memoria que el interprete de Java se encarga de gestionar el mismo.

Puede que no le definamos el signo * a los arrays al declararlos, pero si se comportan como punteros y se usan como punteros, pues son punteros.

Por cierto Dumpi, los arrays en Java (como buenos arrays de punteros que son) si pueden cambiar de tamaño si les hacemos un new o si les asignamos otro array, aunque eso desechara toda la informacion antigua, claro esta.

Para entender bien los arrays en Java veanse este link:
http://pages.cs.wisc.edu/~cs368-1/JavaTutorial/NOTES/Java_vs.html