- 主题:为啥qt6把QVariant的setValue改了
QVariant的setValue()函数
在qt5里的声明是setValue(const T &value)
在qt6里改成setValue(T &&value)了
不知道为啥要这么改?
可笑的是doc里说的还是“Stores a copy of value.”
”
--
FROM 114.253.37.*
没有改吧。只是增加了 setValue(T &&value) 。
原来的 setValue(const T &value) 还是有的
【 在 roy 的大作中提到: 】
: QVariant的setValue()函数
: 在qt5里的声明是setValue(const T &value)
: 在qt6里改成setValue(T &&value)了
: ...................
--
FROM 124.126.139.*
那这样会优先调用 move 语义的这个版本吧。比如是个 QSharedPointer<>, 调用了 setValue() 之后值就空了。
【 在 dormouseBHU 的大作中提到: 】
: 没有改吧。只是增加了 setValue(T &&value) 。
: 原来的 setValue(const T &value) 还是有的
--
FROM 59.61.198.*
为什么会优先调用?我理解一个左值只要不显示的用move,就不会被编译器理解为右值
【 在 hgoldfish 的大作中提到: 】
: 那这样会优先调用 move 语义的这个版本吧。比如是个 QSharedPointer<>, 调用了 setValue() 之后值就空了。
:
--
FROM 223.104.3.*
没了,const类型的现在是setValue(const QVariant&)
【 在 dormouseBHU 的大作中提到: 】
: 没有改吧。只是增加了 setValue(T &&value) 。
: 原来的 setValue(const T &value) 还是有的
--
FROM 111.201.28.*