Pergunta

É possível ver o conteúdo de uma matriz alocada dinamicamente, como em:

int *array = new int[dimension];

Eu só ver o valor do ponteiro.

edit: acabou de encontrar o "display como uma matriz" opção, mas eu sempre tenho que digitar manualmente o tamanho da matriz. É possível conseguir que automagicamente?

Foi útil?

Solução

no eclipse, para ver o conteúdo de uma matriz alocada dinamicamente (por qualquer outra pessoa que se depara com esta questão),

  1. Certifique-se que você está na perspectiva de depuração. olhar para a janela "variáveis". se você não vê-lo, clique em "janela"> "show vista"> "variáveis".
  2. clique direito sobre a variável array
  3. exibição clique como array
  4. eclipse não sabe o quão grande a sua matriz é, então digite 0 para o índice de início e o número de elementos que você dinamicamente alocados para o comprimento.

escolher exibição como matriz no eclipse

Outras dicas

Se você quer evitar ter que fazer várias vezes "Exibir como matriz", abra a guia "Expressões" e adicionar o (*array@dimension) expressão. Não sei por que os parênteses são necessários. Sem eles você deseja obter um erro.

Na guia "Expressões", se fizerdes o que cleong observou e tipo (*array@dimension) então você pode definir dinamicamente o tamanho da matriz para exibição também. Isso funciona mesmo quando você precisa de uma outra expressão para obtê-lo.

Assim que você tem um x variável que contém o tamanho da matriz, você digita (*array@x) e ele vai usar o conteúdo de x como uma dimensão.

"x" pode também ser coisas como conteúdo struct ou dereferences ponteiro e similares - ou seja

(*array@SomePtrToStruct->x) 

funciona muito bem.

acabou de encontrar o "display como uma matriz" opção, mas eu sempre tenho que digitar manualmente o tamanho da matriz. É possível conseguir que automagicamente?

Isso é bom. Eu ficar com ela. Obtendo a matriz automaticamente não é possível no caso geral em C ou C ++, embora certamente em alguns casos triviais que poderia ser feito (mas provavelmente não é, ainda - características precisam ser implementadas antes de elas existirem, parafraseando Raymond Chen).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top