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

Czym jest operator "->"?

Ostatnio zmodyfikowano 2016-08-02 22:27
Autor Wiadomość
keepongoing
Temat założony przez niniejszego użytkownika
Czym jest operator "->"?
» 2016-08-02 20:38:05
Cześć, mam raczej proste pytanie, ale nie mogę nigdzie znaleźć o tym informacji. Może to przez to, że nie wiem jak ten twór się nazywa. Więc - czym jest "->"? Przykładowy kod w którym to jest użyte to funkcja która dodaje element na początku listy jednostronnie wiązanej:
C/C++
struct slistEl
{
    slistEl * next;
    typ_danych data;
};

void l_push_front( slistEl * & head, char v )
{
    slistEl * p = new slistEl;
   
    p->data = v; // inicjujemy element
    p->next = head;
    head = p;
}

To jest kod ze strony http://eduinf.waw.pl/inf/alg/001_search/0086.php#P3, niby jest komentarz "inicjujemy element" ale nie do końca rozumiem dlaczego w ten sposób, w c++ jestem nowy... Prośba o jakieś łopatologiczne wyjaśnienie :(
P-150505
Gibas11
» 2016-08-02 20:58:09
A rozumiesz wskaźniki i struktury / klasy?
ptr->a to to samo co (*ptr).a.
P-150508
keepongoing
Temat założony przez niniejszego użytkownika
» 2016-08-02 21:11:20
Wskaźniki wiem jak działają, natomiast gorzej niestety z implementacją :/ struktury rozumiem.

@edit
OK, nie zaświtało mi jak przeczytałem pierwszy raz. Czyli to jest wskaźnik do elementu struktury, tak? On wie do jakiej struktury się odnieść przez to, że w funkcji jako argument mam slistEl, tak?
P-150510
michal11
» 2016-08-02 21:57:51
Można powiedzieć, że jest to jakby odwołanie się do elementu na który wskazuje wskaźnik. Dla obiektów mamy kropkę a dla wskaźników strzałkę.

p->data
 oznacza, że odwołujemy się do składowej data obiektu na który wskazuje wskaźnik p.
P-150511
keepongoing
Temat założony przez niniejszego użytkownika
» 2016-08-02 22:27:46
Super, już rozumiem, bardzo pomogliście. Dzięki!
P-150514
« 1 »
  Strona 1 z 1