Re: pointer vs reference
Eric Kaplan wrote:
more specific - for passing parameter, what's different between & OR *
pointer vs reference ??
Request(string const& start, string const& end);
Request(string const* start, string const* end);
A reference is an alias. It is similar to a pointer but with some changes.
The most obvious is using a reference you don't have to dereference the
variable to get the value.
void Foo( int* Bax )
{
// To get the value of the integer we have to derefernce the pointer.
std::cout << *Bax << "\n";
}
void Bar( int& Bax )
{
// The get the value of the integer we just use the variable
std::cout << Bax << "\n";
}
There are other differences, such that a refernce must be initialized. It
can not have an unitialized value. Nor can a reference be reseated. Once a
reference is created it points to something, and will continue to point to
that thing until it is destroyed/goes out of scope.
int A = 10;
int B = 20;
int* Foo = &A;
int& Bar = A;
Foo = &B; // legal. Foo now points to B.
Bar = B; // legal, but te value of A changed, not where Bar points.
For any futher information I would suggest you read a book or search the
web.
--
Jim Langston
tazmaster@rocketmail.com