有人可以指导我完成这种情况下的调用吗?
template<class T>
class mat4 {
public :
T matrix[4][4];
mat4();
mat4(vec4<T> i, vec4<T> j, vec4<T> k, vec4<T> t);
mat4(const T input_matrix[4][4]);
//~mat4();
mat4<T> Transposed() const;
void Transpose();
mat4<T> Inversed() const;
void Inverse();
};
如果我打电话给上面的代码
mat4<float> matrix;
float mf[4][4];
//fill the float matrix here
matrix = mf;
然后我知道第三个构造函数被调用(它不是明确的),但除此之外还有什么?矩阵的复制构造函数,它采用从赋值操作创建的临时对象?我正在争论我是否应该为它创建一个自定义分配运算符,或者让它自己处理。自定义运算符只会将矩阵复制到 mat4 并返回对 mat4 的引用,但如果自动创建的赋值运算符没有开销,那么我宁愿坚持下去。