На самом деле не работает.
Было решено, что функции построения стиля в стиле С ++ std
будут строить с ()
s не {}
s. Нет strong Причина, по которой это было выбрано (что я знаю).
emplace_alt
СНД make_unique_alt
могут быть добавлены к std
где конструктов с помощью {}
вместо этого. (естественно, должно быть выбрано лучшее имя)
Итак, короткий ответ «потому что std
говорит так». Средний ответ - «это почти произвольный выбор, сделанный std
, а затем в другом месте, чтобы быть последовательным». Долгий ответ будет заключаться в том, чтобы быть в комнате, где это произошло, и где оно было пересмотрено: это не длинный ответ.
Прекрасно работает со мной http://coliru.stacked-crooked.com/a/7c54feda67017bf1 (я должен был добавить конструктор в структуры, но это все) – Pumkko
Нет, оба [не разрешено] (HTTP://rextester.com/WBNIK94302). Если вы предоставите ctor ('S :: S (int, int)'), то оба будут [fine] (http://rextester.com/UHFEW17433). – songyuanyao
@Pumkko Я имел в виду ровно простую структуру без ctor :) – vladon