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