Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

134
Vistas
Manejar una matriz de caracteres devuelta por una función en C

Estoy usando una biblioteca llamada tinyXML, que analiza archivos XML. Muchos de sus métodos devuelven un const char*.

Después de haber leído esta pregunta: cómo devolver una matriz de caracteres desde una función en C

Ahora creo que cada vez que un método devuelve un carácter * es responsabilidad de la persona que llama (mi) liberarlo explícitamente, porque probablemente se asigna dinámicamente en el montón. ¿Estoy bien / mal? ¿Qué puedo suponer?

(Si alguna vez escribiera una biblioteca, preferiría devolver std::string en lugar de char* arrays, porque son mucho más simples para el usuario).

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

No puede asumir nada y debe consultar la documentación del método al que está llamando para saber si debe liberar el puntero o no. A veces, una función que devuelve un const char * podría estar devolviendo una cadena asignada estáticamente:

 const char *getName(){ return "SPQR3"; }

O podría ser un indicador que es responsabilidad de otra persona liberar. Por ejemplo, el valor de retorno de strcpy es el mismo que el puntero que le pasa como entrada.

over 4 years ago · Santiago Trujillo Denunciar

0

Lea la documentación de la biblioteca. Ambos usos (puntero a un búfer interno o puntero a un búfer asignado dinámicamente) son comunes y no se distinguen solo del prototipo de función.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda