Pregunta

¿Es posible ver el contenido de una matriz asignada dinámicamente, como en:

int *array = new int[dimension];

Solo veo el valor del puntero.

editar: acabo de encontrar la opción "mostrar como una matriz", pero siempre tengo que ingresar manualmente el tamaño de la matriz. ¿Es posible obtener eso automáticamente?

¿Fue útil?

Solución

en eclipse, para ver el contenido de una matriz asignada dinámicamente (para cualquier otra persona que se encuentre con esta pregunta),

  1. asegúrese de estar en la perspectiva de depuración. busque las '' variables '' ventana. si no lo ve, haga clic en " ventana " > " mostrar vista " > " variables " ;.
  2. haga clic derecho en la variable de matriz
  3. haga clic en mostrar como matriz
  4. eclipse no sabe qué tan grande es su matriz, así que escriba 0 para el índice de inicio y la cantidad de elementos que asignó dinámicamente para la longitud.

elija mostrar como matriz en eclipse

Otros consejos

Si desea evitar tener que hacer repetidamente "Mostrar como matriz", abra las "Expresiones" tab y agregue la expresión (* array @ dimension) . No estoy seguro de por qué los paréntesis son necesarios. Sin ellos obtendrías un error.

En el " Expresiones " pestaña, si hace lo que Cleong anotó y escribe (* array @ dimension) , también puede establecer dinámicamente el tamaño de la matriz para mostrar. Esto incluso funciona cuando necesita otra expresión para obtenerlo.

Digamos que tiene una variable x que contiene el tamaño de su matriz, escriba (* array @ x) y usará el contenido de x como dimensión .

" x " también pueden ser cosas como contenido de estructura o desreferencia de puntero y similares, es decir,

(*array@SomePtrToStruct->x) 

funciona bien.

  

acabo de encontrar la opción "mostrar como una matriz", pero siempre tengo que ingresar manualmente el tamaño de la matriz. ¿Es posible obtener eso automáticamente?

Eso está bien. Me quedaría con eso. Obtener la matriz automáticamente no es posible en el caso general en C o C ++, aunque seguramente en algunos casos triviales podría hacerse (pero probablemente aún no lo sea; las características deben implementarse antes de que existan, parafraseando a Raymond Chen).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top