none
para que se usan los punteros en c++ ?

    Pregunta

  • Hola

    se que son variables que apuntan a una direccion de memoria por la cual se puede conseguir el valor alojado en esa celda de memoria...  tambien se que ayudan mucho cuando quieres declarar arrays en forma dinamica, en tiempo de ejecución.. pero fuera de eso. que otra utilidad se le puede dar?

    gracias.

    jueves, 06 de julio de 2017 18:56

Todas las respuestas

  • Otra cosa más para la que se usan: Para el paso de parámetros por referencia (en lugar de por valor). Al llamar a una subrutina se le pasa un puntero que apunta a la dirección original del dato, y de esa manera la subrutina puede modificarlo.
    jueves, 06 de julio de 2017 19:24
  • Ciertamente!....

    Aunque se puede conseguir lo mismo sin punteros...

    //Sin punteros:
    
    int main (){
        int numero;
        numero = getMyNum();
        std::cout << numero;  //imprime 6
    }
    
    int getMyNum(){
        int tempNum = 6;
        return tempNum;
    }
    
    
    //Con punteros:
    
    int main (){
        int numero;
        getMyNum(&numero);
        std::cout << numero;  //imprime 6
    }
    
    
    int getMyNum(int * p_numero){
        *p_numero = 6;
        return *p_numero;
    }
    
    
    

    La diferencia estaria en el rendimiento de uno frente al otro... el segundo al trabajar con una variable nueva, usarías mas memoria, en cambio con punteros pasas directamente el valor al método...   es así?

    saludos!


    • Editado digimikeh viernes, 07 de julio de 2017 14:56
    viernes, 07 de julio de 2017 2:41
  • Claro, en este ejemplo estás pasando un entero, pero imagínate que el parámetro que le pasas a la subrutina es una estructura que contiene 100 megabytes de datos. Es más, imagínate que no es un solo parámetro, sino que la subrutina recibe una docena de ellos. En ese caso, no podrías usar el valor de retorno.
    viernes, 07 de julio de 2017 5:54
  • Entiendo, ahi es cuando los punteros son forzosamente necesarios..

    Gracias por la aclaracion

    viernes, 07 de julio de 2017 14:56
  • Hola:

    ¿Por qué ya no se usan los puntores como antes?

    Desde hace años, si lo pueden evitar, lo evitan.

    Saludos.


    http://electronica-pic.blogspot.com

    martes, 11 de julio de 2017 14:18
  • bueno, yo creo que se pueden evitar siempre y cuando no estés trabajando con referencias muy amplias...

    miércoles, 12 de julio de 2017 3:45
  • ¿Por qué ya no se usan los puntores como antes?

    Bueno, no es exacto que no se usen, lo que pasa es que hay veces que no es obvio que se están usando. Por ejemplo, cuando pones miObjecto->miembro, en realidad estás usando un puntero a miObjeto, lo que pasa es que la sintaxis "->" hace que no se note a simple vista.
    • Propuesto como respuesta Metaconta jueves, 13 de julio de 2017 18:29
    miércoles, 12 de julio de 2017 8:20
  • ¿Por qué ya no se usan los puntores como antes?

    Bueno, no es exacto que no se usen, lo que pasa es que hay veces que no es obvio que se están usando. Por ejemplo, cuando pones miObjecto->miembro, en realidad estás usando un puntero a miObjeto, lo que pasa es que la sintaxis "->" hace que no se note a simple vista.

    Me refiero como antes, antes había que señalar la dirección de memoria, luego almacenar datos o recogerlos. Ya no lo hacen de forma directa por la gente, más bien lo evitan.

    http://electronica-pic.blogspot.com

    sábado, 15 de julio de 2017 15:43