Russian Qt Forum
Ноябрь 23, 2024, 07:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: C++11 в Qt5.2 что-нибудь ощутимо дает?  (Прочитано 4049 раз)
Гурман
Гуру общения
******
Offline Offline

Сообщений: 1442

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12


Просмотр профиля
« : Апрель 15, 2014, 13:30 »

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

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

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

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

2^7-1 == 127, задумайтесь...
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Апрель 15, 2014, 13:41 »

открой хотя бы на вики и почитай нововведения 11. использовать или нет — личное дело каждого, писать с Qt 5 (да и 4) можно как с новым стандартом, так и со старым.

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

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Bepec
Гость
« Ответ #2 : Апрель 15, 2014, 13:43 »

Приведу свой опыт.
1) По весу. Qt5 проигрывает по весу из-за того, что слинкован с большим числом dll. Около 9 dll + плагинные для систем. В общем вес последнего виденного мной проекта + dll > 40 мб. (1 dll весит аж 22 мб релизная).
2) Скорость. Память. В принципе ничего не могу сказать, не замерял. Особых отличий не заметил.
3) выигрыш дают лямбда функции и новый connect. Когда нужно подцепить сигнал на какое-то действие, а метод создавать бессмысленно.
С одной стороны хорошо, с другой - функции неочевидны, нужно смотреть в код.
4) остальных возможностей 11 стандарта я не использовал. Собственно хватает и старых возможностей.
Записан
Гурман
Гуру общения
******
Offline Offline

Сообщений: 1442

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12


Просмотр профиля
« Ответ #3 : Апрель 15, 2014, 14:28 »

открой хотя бы на вики и почитай нововведения 11. использовать или нет — личное дело каждого, писать с Qt 5 (да и 4) можно как с новым стандартом, так и со старым.

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

Это я все читал вагонами и большими тележками - интересует личный опыт разработчиков, и насколько широко эти нововведения люди реально используют.
« Последнее редактирование: Апрель 15, 2014, 14:32 от Гурман » Записан

2^7-1 == 127, задумайтесь...
Vamireh
Гость
« Ответ #4 : Апрель 16, 2014, 21:49 »

А что вы хотите узнать, если все читали? Я использую c++11 по-максимуму и очень доволен, но у меня нет ограничений на версию Qt. У кого есть ограничения - те не используют, у кого ограничений нет - зависит от психологии человека, некоторые считают, что "зачем что-то менять, если работает", другие (как я) вечно гоняются за последними версиями. Если собрать общую статистику, то что-то около 50-50 получится.

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

Сообщений: 1442

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12


Просмотр профиля
« Ответ #5 : Апрель 17, 2014, 11:45 »

Вот это и хочу узнать, только от каждого кто использует - что именно, в каких случаях и что это ему дает. Собрать статистику, чтобы ориентироваться в вопросе.

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

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

2^7-1 == 127, задумайтесь...
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #6 : Апрель 17, 2014, 12:14 »

- что именно, в каких случаях и что это ему дает. Собрать статистику, чтобы ориентироваться в вопросе.
std::thread, std::async, std::future. std::bind и др. - очень неплохие плюшки, особенно когда нет желания и/или возможности привлекать Qt или др монстров
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.134 секунд. Запросов: 23.