Здравствуйте, LaptevVV, Вы писали:
H>>Это список инициализации так можно сейчас? LVV>Не прошло и 10 лет, а стандарт С++11 начал проникать в массы программеров...
Здравствуйте, Marty, Вы писали: M>Это одно из нововведений, за которые некоторые так не любят современные плюсики
Да ладно. Это нормальное нововведение.
Не только синтаксический сахар, но и возможность получить одновременно инициализацию членов данных и тривиальный конструктор по умолчанию.
Здравствуйте, reversecode, Вы писали:
R>можно но не рекомендуется R>правильнее писать int m_GridDistance{20};
Не всё так радужно (лгбт то тут причём?).
Всё ещё приходится где-то писать круглые скобки, к примеру, в случае каста к енуму или конструирования встроенного типа.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, qaz77, Вы писали:
Q>Здравствуйте, Marty, Вы писали: M>>Это одно из нововведений, за которые некоторые так не любят современные плюсики
Q>Да ладно. Это нормальное нововведение. Q>Не только синтаксический сахар, но и возможность получить одновременно инициализацию членов данных и тривиальный конструктор по умолчанию.
Да, но, возможно сломанается Aggregate initialization, зависит от компилятора и поддержки стандарта, вроде как с С++14, но на http://cpp.sh этот код не компилируется , с С++17 точно работает.
#include <iostream>
struct Test
{
int i = 3;
};
int main()
{
Test test1;
std::cout << test1.i << std::endl;
//Test test2{5};
//std::cout << test2.i << std::endl;
/*
In function 'int main()':
13:17: error: no matching function for call to 'Test::Test(<brace-enclosed initializer list>)'
13:17: note: candidates are:
3:8: note: constexpr Test::Test()
3:8: note: candidate expects 0 arguments, 1 provided
3:8: note: constexpr Test::Test(const Test&)
3:8: note: no known conversion for argument 1 from 'int' to 'const Test&'
3:8: note: constexpr Test::Test(Test&&)
3:8: note: no known conversion for argument 1 from 'int' to 'Test&&'
*/return 0;
}
Здравствуйте, Igore, Вы писали: I>Да, но, возможно сломанается Aggregate initialization, зависит от компилятора и поддержки стандарта, вроде как с С++14, но на http://cpp.sh этот код не компилируется , с С++17 точно работает.
Здравствуйте, T4r4sB, Вы писали:
TB>Здравствуйте, reversecode, Вы писали:
R>>можно но не рекомендуется R>>правильнее писать int m_GridDistance{20};
TB>Этой весной в тренде {}? А какая коллекция скобочек будет выставлена модельерами через год, как думаете?