我正在使用 Boost 来做一些矩阵代数。我试图了解这种优化是否有任何作用。原来的:
matrix<double> DoSomething(matrix<double> a, matrix<double> b)
{
return a + b; //for example
}
优化:
matrix<double>* DoSomething(matrix<double>* a, matrix<double>* b)
{
return *a + *b; //for example
}
基本上,我假设使用指针作为参数和返回类型会阻止复制大对象。阅读完源代码后,我想知道 Boost ublas 是否基本上可以解决这个问题。似乎您总是在处理 Boost 代码中的引用。