[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Anfangsbuchstaben in Großbuchstaben ändern [OT]



Hallo Andreas,

>> einer Referenzvariable kann man nur Referenzen zuweisen. Das ist
>> völlig Analog zu C++.
> Jaein, in C++ kannst du nicht
> string& a = new string("foo");

Das geht nicht, da die linke Seite eine Referenz ist, die rechte ein
Zeiger. Es geht aber:

// ========================================
#include <iostream>
#include <string>

using namespace std;

int main(void)
{
    string * a = new string("foo");
    string& b = * a;
    // oder auch gleich: string& b = * new string("foo");

    // Gleiche Adressen
    cout << a << endl;
    cout << &b << endl;

    cout << b << endl;
    return 0;
}
// ========================================

> machen. IIRC kann man Referenzen in C++ nur ueber die Uebergabe an
> Funktionen/Methoden bekommen (bin grad zu faul ins Buch/Web zu
> schauen).

Eine Referenz ist einfach ein Alias, ein anderer Name für etwas. Deshalb
muss eine Referenzvariable initialisiert werden, und kann später nicht
geändert werden. Deshalb gibt es auch keine Nullreferenzen, aber
Nullzeiger. Initialisierungen finden beispielsweise bei
Variablendefinitionen oder Parameterübergaben statt.

Freundliche Grüße,
Christoph



Reply to: