Skip to main content
added 424 characters in body
Source Link
barak manos
  • 1.2k
  • 1
  • 7
  • 19

You can use a vector<vector<int>> instead of p, m, and n.

No need to manage memory (using new and delete) - the vector class will take care of that.

BTW, your operator= is pretty nasty.

Instead of replicating the allocated data pointed by p, it copies the value of p.

As a result, you will get two matrix objects sharing the same data.

If you change one, then you essentially change the other.

If you deallocate one (dynamically or statically at the end of the scope in which it is allocated), then the other one will hold a pointer to an unallocated memory block.

You can use a vector<vector<int>> instead of p, m, and n.

No need to manage memory (using new and delete) - the vector class will take care of that.

You can use a vector<vector<int>> instead of p, m, and n.

No need to manage memory (using new and delete) - the vector class will take care of that.

BTW, your operator= is pretty nasty.

Instead of replicating the allocated data pointed by p, it copies the value of p.

As a result, you will get two matrix objects sharing the same data.

If you change one, then you essentially change the other.

If you deallocate one (dynamically or statically at the end of the scope in which it is allocated), then the other one will hold a pointer to an unallocated memory block.

Source Link
barak manos
  • 1.2k
  • 1
  • 7
  • 19

You can use a vector<vector<int>> instead of p, m, and n.

No need to manage memory (using new and delete) - the vector class will take care of that.