gpt4 book ai didi

c++ - 正 lambda : '+[]{}' - What sorcery is this?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:41:26 25 4
gpt4 key购买 nike

<分区>

在 Stack Overflow 问题 Redefining lambdas not allowed in C++11, why? ,给出了一个无法编译的小程序:

int main() {
auto test = []{};
test = []{};
}

问题已得到解答,一切似乎都很好。然后来了Johannes Schaub并制作了an interesting observation :

If you put a + before the first lambda, it magically starts to work.

所以我很好奇:为什么下面的方法有效?

int main() {
auto test = +[]{}; // Note the unary operator + before the lambda
test = []{};
}

GCC 都能很好地编译4.7+ 和 Clang 3.2+。代码标准是否符合?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com