有一個簡單的函數,用於創建存儲在數組中的零填充矩陣。在C++中將原始指針更改爲智能
void zeroMatrix(const int rows, const int columns, void* M)
{
for(int i = 0; i < rows; i++)
for(int j = 0; j < columns; j++)
*(((double *)M) + (rows * i) + j) = 0;
}
如何更改代碼使用std::unique_ptr<double>
作爲M?
爲什麼'M'一個'無效* 「目前呢? –
你不需要'unique_ptr'函數,只在外面。因爲你的函數不支持矩陣的所有者 – kassak
@sftrabbit試圖將它用於一些其他類型以及用於double。 –