gpt4 book ai didi

c++ [&] 运算符

转载 作者:IT老高 更新时间:2023-10-28 23:22:14 27 4
gpt4 key购买 nike

你好,我在 windows 文档中找到了这段代码

但我不明白是什么意思

[&]

请问你能告诉我它应该做什么吗??

这不是 c++ 标准吗?

这是代码:

void parallel_matrix_multiply(double** m1, double** m2, double** result, size_t size)
{
parallel_for (size_t(0), size, [&](size_t i)
{
for (size_t j = 0; j < size; j++)
{
double temp = 0;
for (int k = 0; k < size; k++)
{
temp += m1[i][k] * m2[k][j];
}
result[i][j] = temp;
}
});
}

最佳答案

它引入了一个 lambda 表达式。方括号的内容指示要在 lambda 中捕获的内容。只有一个 &在那里意味着 lambda 中提到的所有内容和可以在其范围之外找到的都是通过引用捕获的。

例子:

int a = 0;
auto l = [&]() {
++a; // a refers to the a outside of this scope through a reference
}
l(); // execute the lambda

关于c++ [&] 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12262019/

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