В этом фрагменте кода какой конструктор фактически вызывается?
Vector v = getVector();
Vector имеет конструктор копирования, конструктор по умолчанию и оператор присваивания:
class Vector {
public:
...
Vector();
Vector(const Vector& other);
Vector& operator=(const Vector& other);
};
getVector возвращает значение.
Vector getVector();
Код использует стандарт C++03.
Фрагмент кода выглядит так, как будто он должен вызвать конструктор по умолчанию, а затем оператор присваивания, но я подозреваю, что это объявление является другой формой использования конструктора копирования. Как правильно?