Chcę wypełnić wektor 8 parami. Każda para reprezentuje ruchy w współrzędnych x i y, które może wykonać rycerz w grze w szachy. W tej chwili robię to w ten sposób:Wypełnianie wektora par
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);
Robię to, aby poznać bibliotekę Std. Wydaje się to być beznadziejnie nieskutecznym sposobem rozwiązania tego problemu.
Ktoś ma bardziej eleganckie rozwiązanie?
Pierwsza obserwacja: użyj 'przesuwa [0] .push_back (std :: make_pair (-2 , -1)); ' druga obserwacja: Masz 8 wektorów, a nie jeden. – andre