Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Matrix<T>(const Matrix<T> &other) = delete;
- Matrix<T>& operator=(const Matrix<T>& other) = delete;
- Matrix(Matrix<T>&& other) : rows(other.rows), columns(other.columns) {
- data = new T *[rows];
- size_t i = 0;
- try {
- for (; i != rows; ++i) {
- data[i] = new T[columns];
- }
- for (size_t k = 0; k < rows; ++k) {
- for (size_t j = 0; j < columns; ++j) {
- data[k][j] = other.data[k][j];
- }
- }
- }
- catch (...) {
- for (size_t k = 0; k != i; ++k) {
- delete[] data[k];
- }
- delete[] data;
- throw;
- }
- }
- Matrix<T>& operator=(Matrix<T>&& other) {
- std::swap(this->data, other.data);
- std::swap(this->rows, other.rows);
- std::swap(this->columns, other.columns);
- return *this;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement