Sdílet prostřednictvím


Relační operátory porovnání ukazatelů

Při porovnání dva odkazy na objekty stejného typu, výsledek závisí umístění objektů označenou v programu adresního prostoru.Ukazatele lze také porovnávat s konstantní výraz, který je vyhodnocován na hodnotu 0 nebo ukazatele typu void *.Pokud ukazatel je provedeno porovnání proti ukazatele typu void *, ostatní ukazatele je implicitně převést na typ void *.Pak srovnání.

Pokud nemohou být srovnávány dva odkazy na různé typy:

  • Jedním typem je typ třídy odvozené z jiného typu.

  • Alespoň jeden z ukazatelů explicitně převést (cast) zadejte typ void *.(Ostatní ukazatele je implicitně převést na typ void * pro přepočet.)

Dva odkazy stejného typu, které odkazují na stejný objekt je zaručena porovnání rovná.Porovnání dvou ukazatelů nestatické členům objektu, platí následující pravidla:

  • Pokud není typ třídy unie a dva členy nejsou oddělené specifikátor přístupu, například public, chráněná nebo soukromá, ukazatel na člena deklarovaného poslední bude porovnávat větší než ukazatel myši na člena deklarovanou dříve.(Informace o specifikátor přístupu, naleznete v části Syntaxe Specifikátory přístupu.)

  • Pokud jsou odděleny dvěma členy specifikátor přístupu, výsledky nejsou definovány.

  • Pokud je typem třídy unie, porovnání rovná ukazatele na různé datové členy této unie.

Dva odkazy, přejděte na stejné prvky nebo jeden prvek za konec pole, ukazatel na objekt s vyšší index vyšší porovná.Porovnání ukazatelů je zaručeno platné pouze v případě, že odkazují na ukazatele objekty stejné pole nebo do jednoho umístění za koncem pole.

Viz také

Referenční dokumentace

Výrazy s binární operátory