Jaký je rozdíl mezi ukazatelem * a ->?


Odpověď 1:

Operátor * se používá k získání hodnoty, na kterou ukazuje nějaký ukazatel. Toto je známé jako 'value at' operator.

Pokud p je nějaký ukazatel ukládající adresu paměti, pak * p je hodnota v tomto umístění paměti.

Na druhé straně se operátor -> používá pouze s ukazatelem struktury.

Operátor tečka (.) Se používá k získání nějakého člena struktury, ale pokud máte ukazatel struktury, musíte nejprve získat hodnotu struktury a poté použít tečkového operátora.

Předpokládejme, že ps je ukazatel struktury.

Pak můžete získat člena tímto způsobem:

* (PS) a.

Nebo můžete psát

PS> a

Takže, -> je jen zkratka psaní kódu se strukturními ukazateli.


Odpověď 2:

V zásadě * zobrazuje declearaci ukazatele a -> zobrazuje volání prostřednictvím ukazatele.

EX-

příklad třídy

{

veřejnost:

neplatná show ()

{

cena << ”implementace ukazatele”;

}

};

neplatné hlavní ()

{

příklad * objekt;

object-> show (); // vyvolání funkce show

(.object) .show (); // vyvolání funkce show pomocí jiné metody.

oba hsving stejnou funkci dělat.

ale kvůli prioritě operátorů se běžně používá (->) symbol pro vyvolání libovolné členské funkce.

Doufám, že vám tato odpověď pomůže.

dík


Odpověď 3:

V zásadě * zobrazuje declearaci ukazatele a -> zobrazuje volání prostřednictvím ukazatele.

EX-

příklad třídy

{

veřejnost:

neplatná show ()

{

cena << ”implementace ukazatele”;

}

};

neplatné hlavní ()

{

příklad * objekt;

object-> show (); // vyvolání funkce show

(.object) .show (); // vyvolání funkce show pomocí jiné metody.

oba hsving stejnou funkci dělat.

ale kvůli prioritě operátorů se běžně používá (->) symbol pro vyvolání libovolné členské funkce.

Doufám, že vám tato odpověď pomůže.

dík


Odpověď 4:

V zásadě * zobrazuje declearaci ukazatele a -> zobrazuje volání prostřednictvím ukazatele.

EX-

příklad třídy

{

veřejnost:

neplatná show ()

{

cena << ”implementace ukazatele”;

}

};

neplatné hlavní ()

{

příklad * objekt;

object-> show (); // vyvolání funkce show

(.object) .show (); // vyvolání funkce show pomocí jiné metody.

oba hsving stejnou funkci dělat.

ale kvůli prioritě operátorů se běžně používá (->) symbol pro vyvolání libovolné členské funkce.

Doufám, že vám tato odpověď pomůže.

dík