有人可以解释第12行的内容吗?如何设置一个等于结构(矩阵)的函数;
mat4& getCurrentMatrix() {
if(currentMatrixMode == MGL_PROJECTION) {
return projMatrix;
}
else { //Not sure if we need to account for MGL_TEXTURE or MGL_COLOR
//yet
return modelViewMatrix;
}
}
void setCurrentMatrix(mat4 matrix) {
getCurrentMatrix() = matrix; //what is going on in here?
}
答案 0 :(得分:2)
您未设置与其他对象相同的功能,您需要将某个功能的结果分配给另一个对象。
如果函数返回一些对象或值(但没有引用),则它没有任何有用的效果(除非mat4
运算符被副作用覆盖!),例如用C语言。
但是在C ++中,您可以返回全局/更高范围对象的引用
它做了一些有用的事情,因为该函数返回一些全局/更高范围对象的引用,因此它等同于:
=
或
modelViewMatrix = matrix;
取决于函数的参数
答案 1 :(得分:0)
With NewMail
.Subject = "copy graph and text - Auto"
.To = "meme@xxx.com; reciep1@xxx.com; reciept2@xxx.com"
.Attachments.Add ChartName, olByValue, 0
.Attachments.Add ChartName1, olByValue, 0
.HTMLBody = "<body>" & RangetoHTML(Rng) & _
"<img src=" & "'" & ChartName1 & "'>" & _
"<img src=" & "'" & ChartName & "'> </body>"
.Display
End With
函数返回对getCurrentMatrix
的引用。参考引用的是mat4
,它被设置为等于传递给函数的矩阵。