Sdílet prostřednictvím


Typ tohoto ukazatele

Této prohlášení funkce lze upravit typ ukazatele const a volatile klíčová slova.Chcete-li deklarovat funkci jako atributy jednoho nebo více z těchto slov, přidáte klíčová slova po seznamu argumentů funkce.

Vezměme si jako příklad:

// type_of_this_pointer1.cpp
class Point
{
    unsigned X() const;
};
int main()
{
}

Předcházející kód deklaruje členské funkce X, ve kterém této ukazatel považován const ukazatele const objektu.Kombinace cv mod seznam lze použít možnosti, ale vždy upravovat objekt odkazuje této, není této ukazatel, sám.Proto následující prohlášení deklaruje funkci X; této je ukazatel const ukazatele const objekt:

// type_of_this_pointer2.cpp
class Point
{
    unsigned X() const;
};
int main()
{
}

Typ této ve funkci je popsán v následující syntaxi kde seznamu kvalifikátorů cv se určí z declarator členské funkce a může být const nebo těkavých (nebo obojí), a typu třídy je název třídy:

Třída typu [cv kvalifikátor seznam***consttohoto**  

Jinými slovy této je vždy const ukazatele; nemůže být přiřazena.Const nebo volatile kvalifikátory v deklaraci členské funkce použít instanci třídy, na kterou odkazuje této v oboru funkce.

Následující tabulka vysvětluje více o těchto parametrů.

Sémantika této modifikátory

Modifikátor

Význam

Const

Nelze změnit data členů; nelze vyvolat funkce členů, které nejsou const.

volatile

Člen načtení dat z paměti pokaždé, když je přístupná; zakáže některé optimalizace.

Jedná se o chybu předat const objekt členské funkce, která není const.Podobně je chyba předat volatile objekt členské funkce, která není volatile.

Členské funkce deklarované jako const nelze změnit data členů – v takové funkce této ukazatel je ukazatel na const objektu.

[!POZNÁMKA]

Konstruktory a destruktory nelze deklarovat jako const nebo volatile.Mohou však být uplatňována na const nebo volatile objektů.

Viz také

Referenční dokumentace

Tento ukazatel