我想知道,标准类型的赋值运算符没有左值ref限定的原因吗?他们都不是。
因此,我们可以编写如下代码:
'Hello'
如果赋值运算符是左值ref限定的,那么所有这些示例将无法编译。
是因为有很多要修改的东西(但后来都是如此),而且没有人写提案吗?我不认为人们会像这样编写代码,但不应设计该库以使其甚至不允许这样做吗?
答案 0 :(得分:4)
您的建议为proposed in 2009,并于当年在法兰克福被"concerns about backwards compatibility"拒绝。
这将是一个巨大的变化,我们不喜欢这些。
无论如何,现有禁止分配内置类型右值的禁令仅具有有限的实际价值,因此潜在破坏现有代码的成本为almost certainly deemed to be "not worth it"。
如果我们的表盘整洁,是否会以这种方式设计图书馆?也许。