Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

C++. vector.

Ostatnio zmodyfikowano 2014-06-19 10:16
Autor Wiadomość
kamilall234
Temat założony przez niniejszego użytkownika
C++. vector.
» 2014-06-13 23:31:19
Mam problem z vector <>
Mianowicie. Chciałbym aby działał jako tablica dwuwymiarowa do wpisywania info o graczach. Mianowicie :
C/C++
std::vector < std::vector < sf::Text > > dane_graczy( 4, 3 );

//tutaj lezy problem, z wkładaniem rzeczy
dane_graczy.push_back( "Kamil", "Cena" );

Chciałbym aby do wektora wpisywane było:

Gracz
Kasa
Atrybuty

W dodatku atrybuty, są zapisane w postaci int. Czy jest możlwie aby to wyświetlić za pomocą sf::Text ?
P-112045
MrPoxipol
» 2014-06-14 10:25:11
Zrób vector tupli (std::tuple).

Przykład:
C/C++
typedef tuple < string, string, string > Element;
typedef vector < Element > PlayersArray;

enum PlayersArrayIndex
{
    NICK,
    CASH,
    ATTRIBUTES
};

int main() {
    PlayersArray array;
    // Inserting
    array.push_back( Element( "AwesomeNick", "100$", "no-attribs" ) );
   
    Element foo = array[ 0 ];
    cout << "Nick: " << get < NICK >( foo ) << endl;
    cout << "Cash: " << get < CASH >( foo ) << endl;
    cout << "Attributes: " << get < ATTRIBUTES >( foo ) << endl;
   
    return 0;
}
Nick: AwesomeNick
Cash: 100$
Attributes: no-attribs

/edit: A lol, nie pomyśałem, żeby to w obiekt zapakować. lolwut
P-112053
michal11
» 2014-06-14 11:27:11
dane_graczy.push_back( "Kamil", "Cena" );

Nie tak sie wstawia dane do dwuwymiarowej tablicy.
P-112054
kamilall234
Temat założony przez niniejszego użytkownika
» 2014-06-14 14:28:11
Jedyny problem z tym tuple jest tak, że wyskakuje mi iż jest błąd kompilatora, bo porzebuje

C/C++
#error This file requires compiler and library support for the \
 ISO C++ 2011 standard. This support is currently experimental, and must be \
 enabled with the -std=c++11 or -std=gnu++11 compiler options.
P-112057
Jacob99
» 2014-06-14 14:31:42
To oznacza, że musisz włączyć w opcjach kompilatora standard C++11
P-112058
kamilall234
Temat założony przez niniejszego użytkownika
» 2014-06-14 14:45:32
Nie mogę znaleźć tego w C:B 13.12. GNU GCC Compiler jest ustawiony.
P-112059
Monika90
» 2014-06-14 14:47:57
Po co Ci tuple, zrób strukturę
C/C++
struct DaneGracza
{
    std::string nazwa, kasa, atrybuty;
};

std::vector < DaneGracza > v;
P-112060
Jacob99
» 2014-06-14 14:54:14
Settings->Compiler->Global Compiler Settings->Compiler Flags i zaznaczyć flagę:
have g++ follow the C++11 ISO C++ language standard [-std=c++11]
P-112062
« 1 » 2
  Strona 1 z 2 Następna strona