Bonjour,
J'ai rencontré un petit problème lors d'une conception de container d'objet de taille variable, en cpp.
Lorsque l'on fait un container basique (list, array...) les noeuds sont les même pour tous les éléments et sachant que le langage utilisé est le cpp, il est normal d'utiliser T * t = new T() pour allouer un nouvel élément.
Le souci de mon container c'est qu'il instancie des objets de taille variable, et la seule manière trouvée pour allouer un nouvel élément est d'utiliser :
(T*)malloc( sizeof(T) + (mySize) * sizeof(T**) )
Le nombre de l'expression soulignée varie en fonction de la variable mySize.
Mon problème c'est que je voulais utiliser l'opérateur new utilisé en cpp à la place d'un malloc utilisé en C mais il ne semble pas pouvoir instancier des objets de taille variable.
Désolé si mon problème parait obscure et/ou bête, mais ayant vu de nombreuse fois qu'il ne faut pas mélanger C et cpp ça me perturbe de ne pas avoir trouvé d'alternative au malloc.
Merci à ceux qui pourraient m'indiquer s'il y a effectivement une alternative ou pas.
Partager