1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Dúvida de sintaxe em C++

Discussão em 'Programação' iniciada por S.T.E.E.L., 20 de Janeiro de 2007. (Respostas: 6; Visualizações: 1045)

  1. S.T.E.E.L.

    S.T.E.E.L. Power Member

    Estou aqui com uma duvidazita de sintaxe...

    sendo A uma classe

    A ** p = new A*[3];

    Os "**" significam o quê?

    tks.
     
  2. HecKel

    HecKel The WORM

    Apontador de um apontador.

    basicamente estás a dizer que a posição do apontador que o apontador p aponta é um objecto do tipo A. Agora a parte do new A*[3] é que fiquei baralhado..., aquele *[3] deixou-me confuso :X

    http://en.wikipedia.org/wiki/Pointer#C.2FC.2B.2B.2FFreeBASIC

    abraços, HecKel
     
  3. S.T.E.E.L.

    S.T.E.E.L. Power Member

    Muchas gracias... :D

    Eu julgo que o A*[3] seja um array de ponteiros...
     
  4. Rui_Carlos

    Rui_Carlos 1st Folding then Sex

    provavelmente é um array de apontadores... o que explica o '**'.
     
  5. Se fizeres:

    Código:
    typedef A* A_ptr;
    
    A_ptr* p = new A_ptr[3];
    
    O código fica mais fácil de ler :)
     
  6. S.T.E.E.L.

    S.T.E.E.L. Power Member

    tks, mas tens a certeza absoluta de que funciona (A é uma classe)? Experimentei como disseste (n me esqueci do typedef) e não deu.
     
  7. se quiseres fzer um array dinamico de 2 dimanesoes tens q utilizar este tipo de ponteiro

    tipo


    int ** arr;

    arr=calloc(int*,2)

    arr[0] = calloc(int,10);
    arr[1] = calloc(int,10);
     

Partilhar esta Página