Je suis normalement en programmation en C++, mais j'utilise certaines fonctions de la bibliothèque pour mon caractère *. Certaines des pages de manuel comme 'getline', dit que l'entrée doit être un tableau malloced.Y at-il une différence entre les tableaux malloced et les tableaux nouveaux
Est-il acceptable d'utiliser 'new' à la place?
Je peux voir pour mon petit échantillon que cela fonctionne, mais cela pourrait-il à un certain moment entraîner un comportement étrange indéfini?
Je sais qu'un «nouveau» devrait correspondre à un «supprimer», et un «malloc» avec un «libre».
Je n'utilise pas non plus std :: string. Et c'est intentionnel.
Merci
Non ce n'est pas OK. Mais si vous utilisez C++, pourquoi ne pas utiliser std :: getline()? –
Chaque fois que vous voyez quelque chose comme ça dans la documentation, vous devez approfondir et déterminer s'ils recommandent un pointeur 'malloced' parce qu'ils utilisent la terminologie C ou parce que la fonction devrait appeler realloc() ou free(). Les réponses les mieux votées ci-dessous supposent le premier, bien que je pense que la fonction dont vous parlez a à voir avec ce dernier comme le souligne Martin. Il n'est pas correct d'associer incorrectement malloc/free et new/delete, il est donc préférable d'effectuer des recherches supplémentaires sur les fonctions spécifiques que vous appelez en cas de problème. –