“+[]{}”-这是什么巫术?在堆栈溢出问题中重新定义C+11中不允许的lambdas,为什么?,给出了一个不编译的小程序:int main() {
auto test = []{};
test = []{};}问题被回答了,一切似乎都很好。然后又来了约翰斯·朔伊布做出有趣的观察:如果你把+在第一个羔羊之前,它神奇地开始工作。所以我很好奇:为什么下面的工作呢?int main() {
auto test = +[]{}; // Note the unary operator + before the lambda
test = []{};}两者都编译得很好。GCC4.7+和嘎嘎3.2+。代码标准符合吗?
3 回答
眼眸繁星
TA贡献1873条经验 获得超9个赞
+lvalue
static_cast<T>(lvalue)
val()
- 3 回答
- 0 关注
- 397 浏览
添加回答
举报
0/150
提交
取消