我有一个与此类似的函数签名
void Mutliply(const MatrixMN& a, const MatrixMN& b, MatrixMN& out);
在内部,矩阵类有一个float* data;
表示m x n
组件的。我想告诉编译器,a
不要b
给输出矩阵加上别名,这样它就不会做大量的加载存储。
我该怎么做呢?我知道我可以传入指向函数签名的指针并用__restrict
(在 MSVC 中)标记指针,但我想保留通过引用传递的对象的习语,其中对象包含指向内存的指针。
我也知道这__restrict
不适用于对象引用。