Hokay donc j'ai une application où j'ai besoin de l'IPC ... Je pense que les pipes nommées sont la voie à suivre parce qu'elles sont si faciles à utiliser.Stratégies de tuyau nommées avec mémoire dynamique?
De toute façon, j'ai une question sur la façon de gérer la mémoire dynamique en utilisant des tuyaux nommés.
Dire que j'ai une classe comme celle-ci:
class MyTestClass {
public:
MyTestClass() { _data = new int(4); }
int GetData() { return *_data; }
int GetData2() { return _data2; }
private:
int* _data;
int _data2;
};
Maintenant, quand je crée un tampon pleine de MyTestClass
objets puis les envoyer sur le tuyau, je perds évidemment _data dans le processus de destination et d'obtenir les ordures . Y at-il une stratégie à ce que je devrais utiliser? Je peux utiliser des types de valeurs pour des cas simples, mais pour de nombreuses classes complexes, j'ai besoin d'utiliser une sorte de mémoire dynamique et j'aime les pointeurs. Ou, devrais-je simplement regarder à l'aide de la mémoire partagée à la place? Merci
Je pense que vous devriez supprimer '_data2' et whatnot. Ce n'est pas complet (initialisé) et je pense que votre question est claire sans elle de toute façon. – GManNickG
Puisque votre constructeur alloue de la mémoire, vous avez besoin d'un destructeur pour libérer cette mémoire, n'est-ce pas? –
oui je ai besoin de le libérer, désolé pour la mauvaise forme ... je voulais juste faire passer le point – Polaris878