Russian Qt Forum

Программирование => С/C++ => Тема начата: Гурман от Апрель 15, 2014, 13:30



Название: C++11 в Qt5.2 что-нибудь ощутимо дает?
Отправлено: Гурман от Апрель 15, 2014, 13:30
Интересуюсь внедрением этого стандарта, не хочу холиварить по его поводу, но хочется узнать - кто-нибудь реально пользуется им в своих проектах? Это дает какой-то ощутимый выигрыш в чем-либо?

А просто перевод проекта на Qt5.2 кто-нибудь пробовал? Я так понял, в 5.2 уже C++11 используется вовсю, ну и? Старый проект на новом Qt стал компактнее? Меньше памяти потребляет?

Или просто еще мало статистики накоплено? Или вообще всем чихать на C++11?...

Хочется разобраться с этим и узнать мнение тех, кто уже имеет соответствующий опыт.


Название: Re: C++11 в Qt5.2 что-нибудь ощутимо дает?
Отправлено: kambala от Апрель 15, 2014, 13:41
открой хотя бы на вики и почитай нововведения 11. использовать или нет — личное дело каждого, писать с Qt 5 (да и 4) можно как с новым стандартом, так и со старым.

пара банальных примеров: лямбда прямо в месте коннекта вместо слота (только в 5), auto для объявления итераторов.


Название: Re: C++11 в Qt5.2 что-нибудь ощутимо дает?
Отправлено: Bepec от Апрель 15, 2014, 13:43
Приведу свой опыт.
1) По весу. Qt5 проигрывает по весу из-за того, что слинкован с большим числом dll. Около 9 dll + плагинные для систем. В общем вес последнего виденного мной проекта + dll > 40 мб. (1 dll весит аж 22 мб релизная).
2) Скорость. Память. В принципе ничего не могу сказать, не замерял. Особых отличий не заметил.
3) выигрыш дают лямбда функции и новый connect. Когда нужно подцепить сигнал на какое-то действие, а метод создавать бессмысленно.
С одной стороны хорошо, с другой - функции неочевидны, нужно смотреть в код.
4) остальных возможностей 11 стандарта я не использовал. Собственно хватает и старых возможностей.


Название: Re: C++11 в Qt5.2 что-нибудь ощутимо дает?
Отправлено: Гурман от Апрель 15, 2014, 14:28
открой хотя бы на вики и почитай нововведения 11. использовать или нет — личное дело каждого, писать с Qt 5 (да и 4) можно как с новым стандартом, так и со старым.

пара банальных примеров: лямбда прямо в месте коннекта вместо слота (только в 5), auto для объявления итераторов.

Это я все читал вагонами и большими тележками - интересует личный опыт разработчиков, и насколько широко эти нововведения люди реально используют.


Название: Re: C++11 в Qt5.2 что-нибудь ощутимо дает?
Отправлено: Vamireh от Апрель 16, 2014, 21:49
А что вы хотите узнать, если все читали? Я использую c++11 по-максимуму и очень доволен, но у меня нет ограничений на версию Qt. У кого есть ограничения - те не используют, у кого ограничений нет - зависит от психологии человека, некоторые считают, что "зачем что-то менять, если работает", другие (как я) вечно гоняются за последними версиями. Если собрать общую статистику, то что-то около 50-50 получится.

Что касается темы: дает выигрыш часто в количестве строк и их длине, а также удобству, в скорости работы, потребления памяти - разницы не замечал.


Название: Re: C++11 в Qt5.2 что-нибудь ощутимо дает?
Отправлено: Гурман от Апрель 17, 2014, 11:45
Вот это и хочу узнать, только от каждого кто использует - что именно, в каких случаях и что это ему дает. Собрать статистику, чтобы ориентироваться в вопросе.

То, что часть кода становится короче - это очевидно. Но понятнее ли...

Кстати, shared_ptr насколько активно используете при работе с Qt? Я вот блоги разработчиков Qt читал, что-то не помню, чтобы они там об этом говорили. В код Qt5.2 еще не лазил по этому поводу.


Название: Re: C++11 в Qt5.2 что-нибудь ощутимо дает?
Отправлено: Igors от Апрель 17, 2014, 12:14
- что именно, в каких случаях и что это ему дает. Собрать статистику, чтобы ориентироваться в вопросе.
std::thread, std::async, std::future. std::bind и др. - очень неплохие плюшки, особенно когда нет желания и/или возможности привлекать Qt или др монстров