Slick смущен numThreads и лучшими практиками для хорошей производительности

Вы определили явный конструктор копирования, но функции

Vector Vector::operator+(const Vector& v) const

и

Vector Vector::operator-(const Vector& v) const

должны возвращаться по значению и больше не могут из-за explicit (в Другими словами, они не могут скопировать tmp в возвращаемый объект).

Я также проверял новые вещи с C ++ 11 и обнаружил, что могу объявить мой конструктор как движущийся конструктор explicit Vector(const Vector&& v);, и код компилируется просто отлично. Если я это сделаю, мне нужно иметь как скопировать, так и переместить конструкторы?

Не уверен, что я понимаю, что вы имеете в виду здесь. У вас будет такая же проблема, если вы объявите только явный конструктор перемещения (что не позволит компилятору генерировать конструктор копии по умолчанию). Я не могу создать «компилируемый» код.

13
задан marcospereira 30 May 2016 в 14:18
поделиться