Оппа, а чо так можно было? Давно ль?
От: Homunculus Россия  
Дата: 26.06.20 06:08
Оценка: 10 (2) +1 :))) :))) :))) :)
class GridView
{
public:
    GridView();

    void setGridDistance(int distance);

protected:
   
    int m_GridDistance  = 20;
};


Это список инициализации так можно сейчас?
Re: Оппа, а чо так можно было? Давно ль?
От: mao_zvezdun  
Дата: 26.06.20 07:02
Оценка: +1
Здравствуйте, Homunculus, Вы писали:

H> Давно ль?


C++11
Default member initializer
Re: Оппа, а чо так можно было? Давно ль?
От: LaptevVV Россия  
Дата: 26.06.20 07:33
Оценка: 1 (1) +6 :)))
H>Это список инициализации так можно сейчас?
Не прошло и 10 лет, а стандарт С++11 начал проникать в массы программеров...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Оппа, а чо так можно было? Давно ль?
От: Homunculus Россия  
Дата: 26.06.20 07:38
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

H>>Это список инициализации так можно сейчас?

LVV>Не прошло и 10 лет, а стандарт С++11 начал проникать в массы программеров...

Ну, век живи..
Re: Оппа, а чо так можно было? Давно ль?
От: reversecode google
Дата: 26.06.20 09:08
Оценка: -1 :)
можно но не рекомендуется
правильнее писать int m_GridDistance{20};
Re[2]: Оппа, а чо так можно было? Давно ль?
От: Zhendos  
Дата: 26.06.20 09:50
Оценка:
Здравствуйте, reversecode, Вы писали:

R>можно но не рекомендуется

R>правильнее писать int m_GridDistance{20};

новая политика партии это круглые скобки:

https://www.youtube.com/watch?v=ZfP4VAK21zc
Re[3]: Оппа, а чо так можно было? Давно ль?
От: reversecode google
Дата: 26.06.20 10:07
Оценка:
Josuttis лучше смотрите и читайте
практичнее и корректнее {}
Re: Оппа, а чо так можно было? Давно ль?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 26.06.20 11:06
Оценка:
Здравствуйте, Homunculus, Вы писали:

H>Это список инициализации так можно сейчас?


Это одно из нововведений, за которые некоторые так не любят современные плюсики
Маньяк Робокряк колесит по городу
Re[2]: Оппа, а чо так можно было? Давно ль?
От: qaz77  
Дата: 26.06.20 12:32
Оценка: +2
Здравствуйте, Marty, Вы писали:
M>Это одно из нововведений, за которые некоторые так не любят современные плюсики

Да ладно. Это нормальное нововведение.
Не только синтаксический сахар, но и возможность получить одновременно инициализацию членов данных и тривиальный конструктор по умолчанию.
Re[2]: Оппа, а чо так можно было? Давно ль?
От: T4r4sB Россия  
Дата: 26.06.20 15:27
Оценка: +4 :))) :))) :)
Здравствуйте, reversecode, Вы писали:

R>можно но не рекомендуется

R>правильнее писать int m_GridDistance{20};

Этой весной в тренде {}? А какая коллекция скобочек будет выставлена модельерами через год, как думаете?
Re[3]: Оппа, а чо так можно было? Давно ль?
От: reversecode google
Дата: 26.06.20 15:41
Оценка:
я в курсе что многие крутые С++ прогеры с ктыва знать не знают разницы
между
int a = 1;
и
int a = 1.5;
поэтому скобочки и нужны
Re[2]: Оппа, а чо так можно было? Давно ль?
От: Vain Россия google.ru
Дата: 28.06.20 15:28
Оценка:
Здравствуйте, reversecode, Вы писали:

R>можно но не рекомендуется

R>правильнее писать int m_GridDistance{20};
Не всё так радужно (лгбт то тут причём?).
Всё ещё приходится где-то писать круглые скобки, к примеру, в случае каста к енуму или конструирования встроенного типа.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[3]: Оппа, а чо так можно было? Давно ль?
От: Igore Россия  
Дата: 29.06.20 07:36
Оценка:
Здравствуйте, 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;
}
Re[4]: Оппа, а чо так можно было? Давно ль?
От: qaz77  
Дата: 29.06.20 08:08
Оценка:
Здравствуйте, Igore, Вы писали:
I>Да, но, возможно сломанается Aggregate initialization, зависит от компилятора и поддержки стандарта, вроде как с С++14, но на http://cpp.sh этот код не компилируется , с С++17 точно работает.

Явно написанный конструктор ее также ломает:
struct Test
{
    int i;

    Test(): i(3) {}
};


А это именно эквивалентный код в старом стиле.
Re[3]: Оппа, а чо так можно было? Давно ль?
От: _NN_ www.nemerleweb.com
Дата: 30.06.20 06:18
Оценка:
Здравствуйте, T4r4sB, Вы писали:

TB>Здравствуйте, reversecode, Вы писали:


R>>можно но не рекомендуется

R>>правильнее писать int m_GridDistance{20};

TB>Этой весной в тренде {}? А какая коллекция скобочек будет выставлена модельерами через год, как думаете?


Сегодня в моду возвращаются круглые: Allow initializing aggregates from a parenthesized list of values

int a[](1, 2, 3);

struct Q { int x; int y; }

Q q(1, 2);
http://rsdn.nemerleweb.com
http://nemerleweb.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.