Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo zusammen,

class X
{
public:
X() {
n = 0;
}

X( const X& ref ) {
n = ref.n;
}

X& operator=( const X& rhs ) {
if( &rhs != this ) {
n = rhs.n;
}
return *this;
}

private:
int n;
};

int main()
{
X x1, x2;
bool someCondition = true;

X& xref = x1;
if( someCondition ) {
[COLOR=RED]xref = x2;[/COLOR]
}

return 0;
}[/CODE]

Das ist nur Beispielcode, um die Frage zu veranschaulichen. An der rot markierten Stelle wollte ich eigentlich die Referenz ändern, so dass sie auf x2 verweist. Allerdings wird an dieser Stelle der Zuweisungsoperator aufgerufen, was im Nachhinein betrachtet auch Sinn macht, selbst wenn es nicht das ist, was ich wollte.

Kennt jemand eine Lösung für das, was ich vorhatte? Dabei möchte ich nach Möglichkeit nicht auf Zeiger zurückgreifen...

Vielleicht gehts ja so

X& ref = somecondition ? x1 : x2 ;

Nach der Deklaration der Referenz hast du aber meiner Meinung nach keine Chance mehr.

Hi,

sind die Unterschiede zwischen Zeigern und Referenzen nicht folgende:

-Refernzen müssen bei der Deklaration auf eine Variable zeigen

-Refrenzen dürfen nicht auf NULL zeigen

und

-Refrenzen dürfen nach der Deklaration nicht mehr auf andere Variablen zeigen(also

umgebogenwerden)?

Die einzige Möglichkeit wäre also mit Zeigern anstatt Refrenzen zu arbeiten.

Gruß

wasweißich

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.