Re[4]: Q_QDOC
От: sergii.p  
Дата: 08.09.25 16:50
Оценка:
Здравствуйте, SaZ, Вы писали:

SaZ>Visual Studio + ReSharper, CLion, из тулзов — clang tidy имеет соответствующие диагностики.


эх, решарпер давно не юзал. Надо попробовать. Правда беглый обзор обвинил, что он предлагает писать return std::move(res) что ломает NRVO. Спишем на козни конкурентов.

SaZ>И да, конкретно в вашем примере изменения перформанса не будет что с мувом что без, потому что под капотом там используется QSharedData (имплементация COW)


А тут COW ни при чём.

line.trimmed()

создаёт новую строку и не изменяет старую.

std::move(line).trimmed()

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

Да и похоже в Qt идёт общая тенденция по отказу от COW. Так что рассчитывать на эту оптимизацию я бы не стал.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.