Я создаю динамически два массива структур (player1 и player1temp). Чем я хочу сделать некоторые вычисления с использованием данных из player1 и сохранить их на player1temp. Затем я хочу скопировать данные из массива player1temp в player1. Это хорошее решение?Удаление массива структур, изменение структуры адреса
struct team
{
int value1;
int value2;
};
int main()
{
srand(time(NULL));
team *player1=new team[5];
for(int i=0; i<5; i++)
{
player1[i].value1=rand()%20;
player1[i].value2=rand()%20;
cout<<"Player1 index: "<<i<<" "<<player1[i].value1<<" "<<player1[i].value2<<"\n";
}
team *player1temp=new team[5];
cout<<"\n\n";
for(int i=0; i<5; i++)
{
player1temp[i].value1=rand()%20;
player1temp[i].value2=rand()%20;
cout<<"Player1temp index: "<<i<<" "<<player1temp[i].value1<<" "<<player1temp[i].value2<<"\n";
}
delete player1;
player1=player1temp;
cout<<"\n\n";
for(int i=0; i<5; i++)
{
cout<<"Player1 index: "<<i<<" "<<player1[i].value1<<" "<<player1[i].value2<<"\n";
}
return 0;
}
Пожалуйста, не иметь дело с сырыми указателями самостоятельно. Используйте соответствующие [контейнеры] (http://en.cppreference.com/w/cpp/container) или [умные указатели] (http://en.cppreference.com/w/cpp/memory). –
Похоже, ваш код работает, но вы не уверены в своем решении. Вероятно, это лучше было бы использовать [Обзор кода] (http://codereview.stackexchange.com/). – Steve
C++ не имеет структур с 1985 года. –