c++ - allocate a new memory for matrix -


i have 2 classes:

class  class b: class 

i want create matrix each pointer point b (mat of 1x2).

so defined:

a **mat;  mat = new a*[1]; *mat = new b[2]; // call constructor. 

now have 2 elements: mat[0][0], mat[0][1].

mat[0][0] initialized mat[0][1] null.

please help.

if sizeof(a) < sizeof(b) array of a's not equivalent array of b's. since in second allocation allocate concreete objects larger *mat supposed point to, when access second element doesn't access second b element, rather slices first.

that's guess anyway, since didn't tell a , b.

edit

to answer comment, i'd start limiting amount of raw pointers use. use vector of vectors instead. each element of vector can raw pointer a. can have run-time type of b or c.

#include <vector>  std::vector<std::vector<a*> > mat(1, std::vector<a*>(2, (a*)0)); 

Comments

Popular posts from this blog

jquery - How can I dynamically add a browser tab? -

node.js - Getting the socket id,user id pair of a logged in user(s) -

keyboard - C++ GetAsyncKeyState alternative -