Это действительно ваше дело.
Хороший объектно-ориентированный подход состоит в том, чтобы сам класс управлял памятью.Большим преимуществом ООП является инкапсуляция функциональности как можно лучше.Таким образом, вы можете спроектировать его так, чтобы код мог вызывать методы вашего класса, не беспокоясь о том, как память выделяется или освобождается, потому что она управляется классом.
Однако бывают случаи, когда этот подход не работает, потому чтокласс не знает, когда память больше не требуется.В этих случаях вы можете либо просто позволить вызывающей стороне выделить память (а затем освободить ее), либо просто указать, что вызывающая сторона должна освободить память, выделенную и возвращенную из класса.
Это делается в обоих направлениях.,Здесь нет никаких сложных и быстрых правил.