标准库类型的赋值运算符的ref限定词

时间:2018-10-26 11:31:38

标签: c++ stl assignment-operator c++-standard-library ref-qualifier

我想知道,标准类型的赋值运算符没有左值ref限定的原因吗?他们都不是。

因此,我们可以编写如下代码:

'Hello'

如果赋值运算符是左值ref限定的,那么所有这些示例将无法编译。

是因为有很多要修改的东西(但后来都是如此),而且没有人写提案吗?我不认为人们会像这样编写代码,但不应设计该库以使其甚至不允许这样做吗?

1 个答案:

答案 0 :(得分:4)

您的建议为proposed in 2009,并于当年在法兰克福被"concerns about backwards compatibility"拒绝。

这将是一个巨大的变化,我们不喜欢这些。

无论如何,现有禁止分配内置类型右值的禁令仅具有有限的实际价值,因此潜在破坏现有代码的成本为almost certainly deemed to be "not worth it"

如果我们的表盘整洁,是否会以这种方式设计图书馆?也许。