См. Мелкие и глубокие копии и Эффективное C ++
Point
не требует глубокого копирования. Как правило большого пальца "глубокое копирование "требуется, когда у класса есть члены-указатели.Класс Point
имеет только два члена int
, поэтому он не требует особых усилий для "глубокого копирования", нормальное или "мелкое копирование" вполне подойдет.На самом деле, не требуется для написания конструктора копирования для Point
, стандартный или синтезированный, предоставленный компилятором, вполне подойдет.
Что касается вашего второго вопроса, послевыполняется строка
vector< Point > otherArr = myArr;
, otherArr
и myArr
- два независимых вектора.Операции (например, удаление некоторых элементов), выполняемые с одним из них, никак не влияют на другой.