En una entrevista, ¿un entrevistador me pidió que escribiera un puntero de función que devuelva una matriz de 2 d? ¿Es posible, si es así, cómo?

Los corchetes ‘[]’ que utilizamos para acceder a las matrices no son más que el azúcar sintáctico que nos proporciona el lenguaje. Debajo del capó es simple aritmética de puntero viejo. Entonces, ¿podemos devolver un puntero a un puntero (int **), sí. ¿Puede este puntero a un puntero apuntar a una matriz 2D? Usted apuesta.

Entonces, la respuesta directa es int ** (* foo) (void) , foo es un puntero de función que devuelve int ** y no toma argumentos.

Aquí hay un código para ilustrar más el punto. El héroe aquí es nuevamente foo, devuelve int ** y toma el ancho y la altura de la matriz 2D como argumentos.

#include
usando el espacio de nombres estándar;

int ** func (int fila, int col) {
int ** arr;
arr = new int * [fila]; // crea una matriz de punteros de fila.

para (int r = 0; r <fila; ++ r)
{
// para cada fila, asigne una matriz de columna de tamaño para la fila.
arr [r] = nueva int [col];
para (int c = 0; c <col; ++ c)
{
arr [r] [c] = (r * col + c);
}
}
volver arr;
}

int main () {
// el puntero de función a una función que devuelve una matriz 2D.
int ** (* foo) (int, int);
foo = & func;

int ** arr = foo (5,5);

para (int i = 0; i <5; ++ i)
{
para (int j = 0; j <5; ++ j)
cout << arr [i] [j] << "";
cout << endl;
}
devuelve 0;
}

More Interesting

¿Es una práctica común que Facebook haga una oferta verbal, mientras sigue entrevistando a otros candidatos?

¿Es cierto que la mayoría de las empresas no prefieren las entrevistas telefónicas para los empleados remotos?

¿Cómo debo preparar los asuntos actuales para la entrevista de SSB?

¿Cuáles son las terminologías básicas sobre marketing que todos deberían saber y que se les puede preguntar en una entrevista?

Si una entrevista es tan molesta, ¿cómo me controlo intencionalmente en ese instante?

Voy a participar en una entrevista grupal para un trabajo. ¿Qué debo decir si el entrevistador me pide que elimine a uno de los candidatos y por qué?

¿Qué hace que una persona no pueda obtener una entrevista de segunda ronda? ¿Cómo se puede mejorar?

Cómo prepararme para los estudios de casos desde cero para mis ubicaciones

¿Si soy el primer candidato que entrevistan los gerentes de contratación? ¿Esto es bueno o no bueno? ¿Cuál sería mi estrategia para conseguir este puesto?

El entrevistador puede rechazar al entrevistado cuando descubre que el entrevistado tiene más conocimiento que él. ¿Es esto cierto?

¿Tiene algún ejemplo de árboles de problemas escritos a mano para entrevistas de casos?

¿Me han llamado para una segunda entrevista después de haber despejado mi primera entrevista técnica? ¿Qué preguntas puedo esperar en la segunda etapa de la entrevista?

¿Cómo fue tu experiencia de entrevista en Polaris?

¿Debo ir a una entrevista o dejarla?

¿Cuál fue la pregunta más extraña que te hizo un profesor?