2013-11-19 4 views
3

Я только сегодня узнал, что это возможно, чтобы наследовать конструктор с using высказывания: https://stackoverflow.com/a/20062289/5987Является ли наследование конструкторов частью стандарта?

Вопрос заключается в том, если это указано в стандарте или, если это расширение некоторых компиляторами. Если это часть стандарта, была ли она введена в C++ 11?

ответ

5

Да, это стандарт. Да, она была добавлена ​​в C++ 11:

C++ 11 § 12.9 Наследование Конструкторы [class.inhctor]:

с использованием декларирование (7.3.3), что имена конструктора неявно объявляет набор наследующих конструкторов. кандидат набор наследуемых конструкторов из класса X имени в с использованием декларирования состоит из фактических конструкторов и смысловых конструкторов, которые являются результатом преобразования дефолтных параметров следующим образом: ...

0

Он был представлен на C++ 11, но, как упоминалось в предыдущем вопросе, поскольку он довольно новый, только несколько компиляторов поддерживают эту функцию.

+1

Ну, GCC и Clang уже поддерживали его некоторое время, а MSVC поддерживает его как новый CTP. Это, вероятно, три наиболее часто используемых компилятора. Я не уверен, есть ли у Intel это еще. – chris

Смежные вопросы