Как узнать, когда пришло время сделать временную переменную переменной-членом? - PullRequest
2 голосов
/ 10 апреля 2020

Всякий раз, когда я работаю над научными c проектами в C ++, рано или поздно я вызываю методы, которым нужно выделять большие временные объекты в памяти (например, векторы / матрицы), необходимые для вычисления окончательного результата.

У меня такой вопрос: когда мне следует рассмотреть вопрос о том, чтобы вместо этого сделать эти временные переменные-члены класса? Я считаю, что если они уже являются членами, то нет необходимости выделять новую память каждый раз, когда вызывается метод, которому необходим доступ к ним для хранения временных данных. В то же время, однако, чем больше памяти я выделяю для «больших» переменных-членов, тем сложнее будет найти подходящие куски памяти для выполнения других задач.

Я знаю, что в общем случае переменные-члены должны представлять некоторые своего рода свойство, связанное с классом, но с точки зрения памяти кажется выгодным создавать на первый взгляд больше переменных-членов.

Конечно, это предполагает, что указатели или ссылки уже используются там, где адрес переменной может быть использованы.

Я не смог найти четкого ответа. Я надеюсь, что это понятно, пожалуйста, попросите разъяснений, если это необходимо.

...