<div class="gmail_quote">El 20 de julio de 2011 00:41, anarkik anarkik <span dir="ltr"><<a href="mailto:anarkicat@gmail.com">anarkicat@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hola, este es mi primer mensaje, aunque llevo un tiempo leyendo la lista de correo.<div><br></div><div>Me gustaria alguna aclaracion si puede ser sobre los punteros. Soy estudiante de programacion, pero solo estudiamos con Java, y en Java, como ya sabeis, el programador no maneja los punteros directamente, si no me equivoco lo hace java de manera interna. El tema es que llevo un tiempo aprendiendo c++ por mi cuenta, y quisiera algunas aclaraciones, si puede ser.</div>

<div><br></div><div>El tema es el siguiente... he leido bastante y he provado tambien sobre esto, entiendo a la perfeccion que es un puntero, y los he usado sin ningun problema, pero no acabo de comprender el concepto, es decir, por lo que he leido, se dice que son muy utiles, pero yo sigo sin verle tan gran utilidad "supongo que por la poca complejidad de los programas que aun estoy haciendo". De momento, estoy haciendo todos los ejercicios que tenia para java, y aun no he necesitado de punteros "o al menos eso creo".</div>

<div><br></div><div>Me gustaria saber, en que momento es necesario usar punteros, ya que como he dicho, no se que utilidad encontrarle, ya que uso las variables directamente, y no se queventaja me podria dar un puntero que apunte a esas variables... estaria bien algun ejemplo practico de donde se deben usar punteros.</div>

<div><br></div><div>Otra cosa que he leido y no acabo de entender, es que se dice que los punteros se pueden usar para hacer arrays dinamicos, pero en todo lo que he visto, siempre se le especifica el tamaño del array... entonces, en realidad no es dinamico, no? por ejemplo en java, esta ArrayList, LinkedList, TreeSet, etc.. que son dinamicos y en ningun momento le digo que tamaño de memoria debe usar.</div>

<div><br></div><div>Y una ultima cosa, y que me podria servir de ejemplo... estoy usando librerias qt para entorno grafico, i siguiendo con esto de los punteros os pongo un ejemplo:</div><div><br></div><div><span style="color:rgb(34, 34, 34);font-family:Arial, Helvetica, sans-serif;font-size:13px"><pre style="margin-top:0.75em;margin-right:0px;margin-bottom:0.75em;margin-left:0px;background-color:rgb(204, 204, 204);border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;border-left-style:solid;border-top-color:rgb(221, 221, 221);border-right-color:rgb(221, 221, 221);border-bottom-color:rgb(221, 221, 221);border-left-color:rgb(221, 221, 221);font-size:12px;padding-top:0.75em;padding-right:1.5em;padding-bottom:0.75em;padding-left:1.5em;background-repeat:initial initial">
#include <qapplication.h>
#include <qlabel.h>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QLabel *label = new QLabel("Hello Qt!");
    label->show();
    return app.exec();
}</pre></span></div><div><br></div><div>Por que se usa el label como puntero? no seria lo mismo usarlo sin ser puntero? que ventaja tiene usarlo como puntero, yh porque razon en ese ejemplo se usa como puntero?</div><div>

<br></div><div><br></div><div>Espero algunas aclaraciones, muchas gracias de antemano.</div><div><br></div>
<br>_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br></blockquote></div><br><br><br>Hola, un ejemplo donde yo he visto bastante claro la utilidad del uso de punteros es este.<br>
<br>#include <cstdio><br>void duplica( int * );<br><br>int main ()<br>{<br>    int X = 10;<br>    printf("Valor inicial: %d\n", X);<br>    duplica( &X );<br>    printf("Doble de lo anterior:%d\n", X);<br>
    return 0;<br>}<br><br>void duplica( int *ptrX )<br>{<br>    // La funcion no devuelve nada porque modifica el valor por referencia.<br>    *ptrX = ( *ptrX * 2 );<br>}<br><br><br>Modifica el valor de una variable por referencia sin tener que hacer un return para modificar el valor.<br>
Aquí incluso parece poco útil aun, pero imagina que en vez de un valor solo, tienes varios que modificar.<br>Espero que te sirva.<br>