Esta es una pregunta de mejores prácticas. Estoy haciendo una matrizQué tipo debo usar para una variable de índice
type * x = malloc(size*sizeof(type));
AFAIK sizeof da un valor de retorno de size_t. ¿Eso significa que debería usar size_t para declarar o pasar el tamaño? Además, al indexar la matriz ¿debo usar también un size_t para la variable de índice? ¿Cuál es la mejor práctica para estos? Esto no es algo que enseñaron en la escuela, y ahora que me estoy metiendo en serios C++ quiero saber.
Además, si alguien tiene referencias sobre dónde puedo encontrar las mejores prácticas para este tipo de cosas, ¿sería útil? Tipo de etiqueta para el libro de programadores.
EDIT: El malloc debe ser cudaHostAlloc, o cudaMalloc, ya que estoy desarrollando una clase que almacena una matriz de forma simultánea en el dispositivo y el host, y actualiza ambas al mismo tiempo. Así que malloc aquí solo es un marcador de posición de lo que realmente estaré haciendo.
Un buen "mejor práctica" está usando 'sizeof' con la variable en uso:' tipo * x = (tipo *) malloc (tamaño * sizeof * x); 'De esta forma, si posteriormente actualiza el tipo en el tamaño de la mano izquierda, no necesitará actualizar el lado derecho (' sizeof (type) ') –
+1 para una buena colocación pregunta. –
Una buena práctica recomendada para C++ es no utilizar 'malloc()'. ¿Por qué lo estás usando? –