我正在使用類來添加矩陣。我已經聲明瞭一個類「矩陣」。現在我需要將一個矩陣對象傳遞給一個函數。我該怎麼做?如何傳遞一個2D矩陣到函數
0
A
回答
0
Matrix object;
// ...
f(object);
0
你有很多方法可以做到這一點。
按值:
void func (Matrix m);
通過參考:
void func (Matrix& m);
或指針:
void func (Matrix* m);
使用哪種方法取決於你的需求和操作的語義。
1
其實,最好的方法(恕我直言)是超載operator+()
。因此,在你的代碼,你只需要+
使用:
class Matrix {
private:
// Your code
public:
// Your code
friend Matrix operator+(const Matrix &c1, const Matrix &c2);
}
friend Matrix operator+(const Matrix &c1, const Matrix &c2) { <--- passing by reference
// Your code to add matrices
}
int main() {
Matrix A, B;
Matrix C = A + B;
}
在傳球的情況下,通過價值Matrix sum(Matrix a, Matrix b)
,則需要如果矩陣內存動態分配給寫一個拷貝構造函數。
通過指針傳遞Matrix sum(Matrix *a, Matrix *b)
是一種C風格的編碼,所以它仍然是正確的,但不是C++的優選。
相關問題
- 1. 通過jni傳遞一個2d矩陣從java到C++文件
- 2. 將空矩陣傳遞到函數
- 3. Ç傳遞2D陣列給函數
- 4. On將2D陣列傳遞給函數
- 5. 傳遞RAII結構爲2D陣列成一個函數
- 6. 傳遞矩陣函數指針
- 7. 在傳遞函數矩陣(C)
- 8. 傳遞和返回矩陣來函數
- 9. 傳遞矩陣函數在python
- 10. 傳遞一個2D數組
- 11. 傳遞2d數組到一個線程
- 12. C++ 2d數組傳遞到一個函數
- 13. 無法解決外部傳遞2d數組到一個函數
- 14. 傳遞2d數組到一個函數使用JavaScript
- 15. 如何將參數的二維矩陣傳遞給函數C
- 16. 如何傳遞IO到傳遞到另一個函數
- 17. 乘以2D矩陣的一維矩陣
- 18. 傳遞參數從矩陣
- 19. 2D矩形陣列成函數
- 20. 如何訪問傳遞給MEX函數的矩陣的成員?
- 21. 如何使用S函數在Simulink中傳遞矩陣
- 22. 如何計算傳遞函數矩陣的符號計算?
- 23. 傳遞函數到另一個函數
- 24. 如何將矩陣向量傳遞到matlab中的函數參數
- 25. 如何將3D矩陣轉換爲多個2D矩陣?
- 26. 傳遞一個浮點數作爲指針的一個矩陣
- 27. 如何聲明2d矩陣數組PHP
- 28. 如何在Python中爲每個2D截面填充2D矩陣的4D矩陣
- 29. 將2D矩陣列表堆棧到3D矩陣的函數式方法
- 30. 如何將參數從一個函數傳遞到下一個
非常感謝! – User14229754