Normalmente estoy programando en C++, pero estoy usando algunas funciones clibrary para mi char *. Algunas de las páginas de manual como 'getline' dicen que la entrada debe ser una matriz mal colocada.hay una diferencia entre las matrices malloced y las matrices nuevas
¿Está bien, usar 'nuevo' en su lugar?
Puedo ver por mi pequeña muestra que funciona, pero ¿podría esto en algún momento dar lugar a un extraño comportamiento indefinido?
Sé que un 'nuevo' debe coincidir con un 'eliminar' y un 'malloc' con un 'libre'.
Tampoco estoy usando std :: string. Y esto es intencional.
Gracias
No, no está bien. Pero si usa C++, ¿por qué no usar std :: getline()? –
Cada vez que vea algo como esto en la documentación, debe profundizar y determinar si recomiendan un puntero "mal orientado" porque utilizan la terminología C o porque se espera que la función llame a realloc() o libre(). Las respuestas más votadas a continuación suponen la primera, aunque creo que la función a la que se refiere tiene que ver con la última, como señala Martin. No está bien emparejar malloc/free y new/delete incorrectamente, por lo que es mejor realizar una investigación adicional sobre las funciones específicas a las que llama cuando esto ocurra. –