gpt4 book ai didi

c++ - 为函数内的数组元素赋值

转载 作者:行者123 更新时间:2023-11-27 22:56:36 25 4
gpt4 key购买 nike

一个简单的函数

auto f = [] (const array <GLfloat, 4> a, array <GLfloat, 4> b) {b [2] = a [2] + 5;};

没有按预期工作 - 数组 b 保持不变。

最佳答案

因为您传递的是 value 并且只是修改复制的数组,这与外部 b 无关。您必须通过引用传递:

auto f = [](const array<GLfloat, 4>& a, array<GLfloat, 4>& b) {b[2] = a[2] + 5;};
^^^^

您还应该通过对常量的引用来传递 a,以避免不必要的复制。

关于c++ - 为函数内的数组元素赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32407972/

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