Udostępnij za pośrednictwem


Odwołanie lValue; niewłaściwy deklarator: &

Przechowuje adres obiektu, ale zachowuje się syntaktycznie jak obiekt.

type-id & cast-expression

Uwagi

Odwołanie lvalue można traktować jako inną nazwę dla obiektu.Deklaracja odniesienia lvalue składa się z opcjonalna lista Specyfikatory następuje odwołanie; niewłaściwy deklarator.Odwołanie musi zostać zainicjowany i nie mogą być zmieniane.

Dowolny obiekt, którego adres można konwertować na typ danego wskaźnika można skonwertować także typ odwołania podobnego.Na przykład dowolny obiekt, którego adres można przekonwertować typu char * również mogą być konwertowane na wpisz char &.

Nie należy mylić deklaracji odniesienia z użyciem adres z operatora.Gdy & identyfikatora poprzedzona jest typu, takie jak int lub char, identyfikator jest zadeklarowana jako odwołanie do typu.Gdy & identyfikatora nie jest poprzedzony przez określony typ użycia jest adres z operatora.

Przykład

W poniższym przykładzie zademonstrowano; niewłaściwy deklarator odniesienia oświadczając, Person obiekt i odwołanie do tego obiektu.Ponieważ rFriend jest to odwołanie do myFriend, aktualizowanie zmiennej albo zmiany samego obiektu.

// reference_declarator.cpp
// compile with: /EHsc
// Demonstrates the reference declarator.
#include <iostream>
using namespace std;

struct Person
{
    char* Name;
    short Age;
};

int main()
{
   // Declare a Person object.
   Person myFriend;

   // Declare a reference to the Person object.
   Person& rFriend = myFriend;

   // Set the fields of the Person object.
   // Updating either variable changes the same object.
   myFriend.Name = "Bill";
   rFriend.Age = 40;

   // Print the fields of the Person object to the console.
   cout << rFriend.Name << " is " << myFriend.Age << endl;
}
  

Zobacz też

Informacje

Odwołania (C++)

Argumenty funkcji typ odwołania

Zwraca funkcję typ odwołania

Odniesienia do wskaźników