arrays - C++ Copying Pointers -


hi know how copy contents of 2d array pointer in c++ location , set pointer when make changes on copied pointer nothing happens original data?

basically array pointer pieces on chessboard. goes piece * oldpointer = board[8][8]. want copy contents in pointer including methods getvalue(), getcolor() etc in pieces header file location , set pointer can operations there , test without having affect orginal data? read somewhere had use allocate() im not sure. please help

in c++ define 2d array type follows (you need modern c++ compiler):

#include <array> typedef std::array<std::array<piece, 8>, 8> board_t; 

if compiler doesn't support std::array can use boost::array instead:

#include <boost/array.hpp> typedef boost::array<boost::array<piece, 8>, 8> board_t; 

now can use type above. can see need copy object pointer points:

board_t* oldpointer = new board_t;  // oldpointer  // make copy of instance of object oldpointer points // using copy-constructor board_t* newpointer = new board_t( *oldpointer ); // newpointer points newly created independent copy  // more  // clean delete oldpointer;  // more newpointer  // clean delete newpointer; 

Comments

Popular posts from this blog

c# - how to write client side events functions for the combobox items -

exception - Python, pyPdf OCR error: pyPdf.utils.PdfReadError: EOF marker not found -