Voglio riempire un vettore con 8 coppie. Ogni coppia rappresenta le mosse in coordinate xey di un cavaliere in una partita di scacchi. Al momento lo sto facendo in questo modoRiempimento di un vettore di coppie
vector<pair<int,int>> moves[8];
pair<int,int> aPair;
aPair.first = -2;
aPair.second = -1;
moves[0].push_back(aPair);
aPair.first = -2;
aPair.second = 1;
moves[1].push_back(aPair);
aPair.first = -1;
aPair.second = -2;
moves[2].push_back(aPair);
aPair.first = -1;
aPair.second = 2;
moves[3].push_back(aPair);
aPair.first = 1;
aPair.second = -2;
moves[4].push_back(aPair);
aPair.first = 1;
aPair.second = 2;
moves[5].push_back(aPair);
aPair.first = 2;
aPair.second = -1;
moves[6].push_back(aPair);
aPair.first = 2;
aPair.second = 1;
moves[7].push_back(aPair);
Sto facendo questo per conoscere la libreria Std. Questo sembra un modo irrimediabilmente inefficiente per risolvere questo problema.
Chiunque ha una soluzione più elegante?
prima osservazione: usare 'mosse [0] .push_back (std :: make_pair (-2 , -1)); ' seconda osservazione: hai 8 vettori non uno. – andre