У меня есть массив, называемый x, размер которого равен 6 * sizeof (float). Я знаю, что объявление:Лучшие практики динамической и статической памяти с точки зрения чистоты и скорости
float x[6];
выделил бы 6 * sizeof (float) для x в стеке памяти. Однако, если я делаю следующее:
float *x; // in class definition
x = new float[6]; // in class constructor
delete [] x; // in class destructor
Я бы выделить динамическую память 6 * SizeOf (флоат) х. Если размер x не изменяется для времени жизни класса с точки зрения наилучшей практики для чистоты и скорости (я смутно вспоминаю, если не правильно, что операции с памятью стека быстрее, чем операции с динамической памятью), я должен убедиться что x является статически, а не динамически распределенной памятью? Заранее спасибо.
Обратите внимание, что «статический» в контексте C++ означает нечто совершенно иное, чем «в стеке»! Я считаю, что официальный термин для переменных стека является «автоматическим», а переменные, выделенные кучей, берутся «из свободного хранилища». – xtofl