Обновлено
Я просмотрел ссылки (например, Когда использовать инициализатор, заключенный в фигурные скобки?) о том, когда следует использовать инициализацию {}
скобок, но не дается информация о том, когда следует использовать синтаксис ( )
скобок и инициализатор { }
для инициализации объектов в C ++ 11/14? Какие стандартные практики предлагают использовать ()
вместо {}
?
В редких случаях, таких как vector<int> v(10,20);
или auto v = vector<int>(10,20);
, результатом будет std::vector
с 10 элементами. Если мы используем фигурные скобки, результатом будет std::vector
с двумя элементами. Но это зависит от варианта использования вызывающего абонента: либо он / она хочет выделить вектор из 10 элементов или 2 элементов?
()
, когда хотите вызвать конструктор. - person alcedine   schedule 09.02.2016{}
, когда хотите вызвать конструктор. В этом отношении()
vs.{}
не имеет значения. - person juanchopanza   schedule 09.02.2016