0
一個簡單的函數分配值數組元素的函數
auto f = [] (const array <GLfloat, 4> a, array <GLfloat, 4> b) {b [2] = a [2] + 5;};
如預期不起作用內 - 陣列b保持不變。
一個簡單的函數分配值數組元素的函數
auto f = [] (const array <GLfloat, 4> a, array <GLfloat, 4> b) {b [2] = a [2] + 5;};
如預期不起作用內 - 陣列b保持不變。
因爲你通過值並且只是修改複製的數組,這與外部b
無關。您可以通過引用傳遞:
auto f = [](const array<GLfloat, 4>& a, array<GLfloat, 4>& b) {b[2] = a[2] + 5;};
^^^^
你應該參考給const通過a
爲好,以避免不必要的副本。