PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : reference to pointer



f0rtex
23-07-2003, 15:19
Hallo Leute

bin gerade C++ in a Nutshell am durcharbeiten und da bin ich auf folgenden Code gestossen, der mir ein wenig suspekt erscheint.



int x;
int* p = &x; // Pointer to int
int*&* pr = p; // reference to pointer


Müsste pr nicht wie folgt definiert sein, wenn ich eine reference auf einen pointer haben möchte?


int*& pr = p;



greets
f0rtex

wraith
23-07-2003, 15:38
Der Code ist falsch


int*&* pr = p; // reference to pointer

es gibt in C++ keine Zeiger auf Referenzen,und genau das hätten wir hier.
pr ist ein Zeiger auf eine Referenz,Zeiger auf int (ich kann es nicht mal aussprechen :) ).
Auf Referenzen kann es keine Zeiger geben,weil nach dem Standard nicht mal spezifziert ist,daß eine Referenz Speicher in anspruch nimmt.

Deine Variante ist korrekt.

f0rtex
23-07-2003, 15:45
Danke :-)



es gibt in C++ keine Zeiger auf Referenzen,und genau das hätten wir hier.
Auf Referenzen kann es keine Zeiger geben,weil nach dem Standard nicht mal spezifziert ist,daß eine Referenz Speicher in anspruch nimmt.

So hatte ich das auch noch in Erinnerung :-)



Deine Variante ist korrekt.

Das wollte ich hören :-)
Jetzt noch ne mail an den Autor und dann sind alle glücklich :D

Best wishes
f0rtex

wraith
23-07-2003, 15:58
Original geschrieben von f0rtex

Jetzt noch ne mail an den Autor und dann sind alle glücklich :D

He,das Buch ist ja noch richtig neu (April 2003).
Also auf der Errata Liste taucht das noch nicht auf http://www.tempest-sw.com/cpp/errata.html

Hab' mir dann mal den Quellcode angeschaut,den es zum download gibt,und ich muß sagen nicht übel.
Werden sogar Sachen besprochen,wie valarray slices.
Scheint nicht schlecht zu sein,muß ich mir mal merken.

f0rtex
23-07-2003, 17:10
Habe auch auf der errata-Page gschaut, bevor ich dem Autor ein mail geschrieben habe :-)

Zum Buch:
Ich bin im Allgemeinen ein riesen fan der Nutshell-Bücher-Reihe.
Als Nachschlagewerk ist es Super. Ohne 20 Verweisen folgen zu müssen, hat man alle nötige Information sofort zur Hand.

Zu den Beispielen im Buch:
Was ich nicht ganz kapiere, warum er bei den Basic-Bsp's immer <ostream> includiert.
z.B.:


#include <iostream>
#include <ostream>

int x = 42;

int main()
{
double x = 3.1415; // hides the global x
std::cout << x << '\n'; // prints 3.1415
std::cout << ::x << '\n'; // prints 42
}



Ansonsten kann das Buch wärmstens empfehlen.

greets
f0rtex