Какой конструктор здесь вызывается?

В этом фрагменте кода какой конструктор фактически вызывается?

Vector v = getVector(); 

Vector имеет конструктор копирования, конструктор по умолчанию и оператор присваивания:

class Vector {
public:
    ...
    Vector();
    Vector(const Vector& other);
    Vector& operator=(const Vector& other);
};

getVector возвращает значение.

Vector getVector();

Код использует стандарт C++03.

Фрагмент кода выглядит так, как будто он должен вызвать конструктор по умолчанию, а затем оператор присваивания, но я подозреваю, что это объявление является другой формой использования конструктора копирования. Как правильно?

7
задан Rafał Rawicki 31 March 2012 в 16:04
поделиться