Witam, mam problem z kopiowaniem obiektu swojej klasy - razem ze zmiennymi kopiuje się też adres (sprawdzałem w debuggerze), mimo że nie jest to wskaźnik. Przez to każda kopia zachowuje się jak referencja do oryginału. To samo jest w przypadku wstawiania obiektu do wektora.
void add(Table &object) {
Table copyTable; // nowy adres
copyTable = refTable; // adres copyTable = adres refTable (wskazuja na to samo)
(*List).insert(std::move(copyTable)); // ten sam adres co copyTable
}
List jest wskaźnikiem do wektora obiektów Table. Zarys Table:
class Table
{
public:
Table(const std::string&);
Table();
~Table();
struct ColumnFunctions
{
public:
struct Column {
const std::string name;
std::vector<std::string> row;
Column() {}
Column(const std::string& name_m) : name(name_m) {}
}
};
std::string name;
ColumnFunctions column;
};