Archiv verlassen und diese Seite im Standarddesign anzeigen : reference to pointer
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
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.
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
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.
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
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.