Вот альтернативное предложение, которое позволяет вам сохранить вашу текущую реализацию, но намного безопаснее.
class Surface {
private:
float dx;
int N;
float* mesh_points;
public:
Surface(float, int);
~Surface();
void set_dx (float);
float get_dx();
Surface(const Surface&) = delete; // new
Surface& operator=(const Surface&) = delete; // new
};
Удаляя реализацию конструктора копирования и оператора назначения копирования, вы не позволяете объектам Surface
будучи скопированным (что в любом случае может привести к сбою вашей программы).Любая попытка скопировать Surface
объекты теперь приведет к ошибке времени компиляции.
Только предложение, мой первый выбор всегда будет использовать std::vector
.