Size: a a a

2021 April 19

c

codingteam@cjr in codingteam
Minoru
будет RVO, return value optimization, т.е. изнутри метода сразу будет писаться в x, без промежуточных копий
источник

c

codingteam@cjr in codingteam
portnov
ишь ты.
источник

D

Devel29A in codingteam
скопируется
источник

t

ttldtor in codingteam
а вот если бы ты создал что-то на стеке и вернул const reference...
источник

t

ttldtor in codingteam
const QString& method() {
  auto s = QString();
  return s;
}
источник

D

Devel29A in codingteam
а если мувнуть?
источник

c

codingteam@cjr in codingteam
Minoru
хех. Дали Портнову пять минут наладиться простотой плюсов, и уж затем начали :)
источник

D

Devel29A in codingteam
:D
источник

c

codingteam@cjr in codingteam
Minoru
кстати, если возвращать &&, то RVO тоже неприменимо, да? Там обязательно мув-конструктор вызовется?
источник

c

codingteam@cjr in codingteam
portnov
в Qt6 задепрекейтили QString::null и сказали юзать Qstring()
источник

O

Omap in codingteam
а как вернуть массив из стрингов?
источник

c

codingteam@cjr in codingteam
portnov
у меня как-то сразу предположение, что QString::null это должен быть статический объект
источник

c

codingteam@cjr in codingteam
portnov
потому что нафига его создавать-то каждый раз?
источник

t

ttldtor in codingteam
ну да
источник

c

codingteam@cjr in codingteam
portnov
но тогда зачем они его убрали и сказали юзать QString()?
источник

t

ttldtor in codingteam
У меня опыта по отстрелу яиц ещё не достаточно, чтобы компетентно ответить на твой вопрос)
источник

c

codingteam@cjr in codingteam
portnov
типа там какое-нибудь Null-String-Optimization?
источник

t

ttldtor in codingteam
Ну, посчитали, что оно и так соптимизируется
источник

t

ttldtor in codingteam
по RVO
источник

t

ttldtor in codingteam
кстати, я не в курсе, QString ещё COW или уже нет
источник