Как передать перегруженный вызов конструктора другому конструктору в C++ / CLI

Я знаю, что нет никакого способа сделать это в чистом C++, но я задавался вопросом, возможно ли назвать конструктора из списка инициализации другого конструктора в C++ / CLI, тот же способ, которым можно сделать это в C#.

Пример:

ref class Foo {
  Foo() {}
  Foo(int i) : Foo() {}
}

7
задан Community 23 May 2017 в 12:13
поделиться

1 ответ

Это называется "делегирующий конструктор". В языке его пока нет. Но есть официальное предложение, вы найдете его в приложении F.3.1 спецификации языка. Учитывая позицию Microsoft по отношению к C++/CLI, это предложение вряд ли увидит свет в ближайшее время.


UPDATE: делегирующие конструкторы действительно получили жизнь за пределами предложения в этом приложении, они были добавлены в стандартную спецификацию языка C++11. Microsoft работает над внедрением дополнений C++11. Делегирующие конструкторы наконец-то появились в VS2013. И они также работают в C++/CLI в этой редакции.

15
ответ дан 6 December 2019 в 19:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: