Находятся ли эти задания в одном шаблоне?

Возможный дубликат:
Ярлык для конструктора

Являются ли следующие части кода одинаковыми в C ++:

Piece1:

MyFunnyClass o = MyFunnyClass();

Piece2:

MyFunnyClass o;

Я знаю, что следующее не эквивалентно, но я не уверен насчет двух сверху:

MyFunnyClass o = MyFunnyClass () ;

MyFunnyClass o;
o = MyFunnyClass();

3

Решение

MyFunnyClass o () ;

Это никак не определяет объект. Это Most Vexing Parse. o это функция, которая ничего не берет и возвращает MyFunnyClass, который вы заявили.

Настоящий синтаксис будет

MyFunnyClass o;

Это создаст объект по умолчанию.

MyFunnyClass o = MyFunnyClass();

Value-конструирует объект, а затем копирует или перемещает его в o, Ожидать вознесения здесь.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]