Использование конструктора в вызове функции?

Я некоторое время искал хорошее объяснение того, почему / почему следующее использование конструктора struct в качестве аргумента функции является допустимым. Может ли кто-нибудь его предоставить?

// Begin simple illustrative example C++ program    
#include<vector.h>

struct Item  
{  
  Item(double data, const int lead)
  : m_grid(data), m_lead(lead) {}

  double m_grid;
  int m_lead;
};

int main()
{
  double img = 0.0;
  int steps = 5;
  std::vector<Item> images;
  for (int i = 0; i < steps; i++)
  {
    img += 2.0;
    images.push_back(Item(img,i));
  }
  return 0;
}

У меня создалось впечатление, что конструктор не имеет ни возвращаемого типа, ни оператора ...

9
задан Evan 10 March 2011 в 09:56
поделиться