C++ Programming - References - Discussion
Discussion Forum : References - General Questions (Q.No. 1)
1.
Which of the following statement is correct?
Discussion:
25 comments Page 2 of 3.
Chandan said:
1 decade ago
A reference is stored on heap because dynamically allocation is stored in heap and reference create at run time. So yes its 100% right.
Stack is used to store local variable basically.
Stack is used to store local variable basically.
(1)
Sourabh k said:
1 decade ago
Its true that reference is stored in stack.
Cause reference just point or refer to any local variable.
And any local variable has stack memory.
So Indirectly reference is stored in stack.
Cause reference just point or refer to any local variable.
And any local variable has stack memory.
So Indirectly reference is stored in stack.
(1)
Ramesh said:
1 decade ago
Reference is also a variable declared in a function. That should be stored in stack.
Velmurugan said:
1 decade ago
Reference is a variable&data declaration part in your program. (i.e int a =6).
Wouter van ooijen said:
1 decade ago
A reference is syntactic sugar for a pointer. It it can be stored either global, on the stack, or on the heap.
int a;
int &b{ a }; // global.
f(){
int &b{ a }; // on the stack.
}
struct ref{ int &b; ref( int &x ): b{ x }{} };
ref * p = new( a ); // p->b is on the heap.
int a;
int &b{ a }; // global.
f(){
int &b{ a }; // on the stack.
}
struct ref{ int &b; ref( int &x ): b{ x }{} };
ref * p = new( a ); // p->b is on the heap.
ABC said:
1 decade ago
Stack memory used by automatic variables, so this answer will true.
ABC said:
1 decade ago
Stack memory used by automatic variables, the difference between reference variable.
Pointer is this Heap memory dynamically allocated at execution time.
Pointer is this Heap memory dynamically allocated at execution time.
Abc said:
1 decade ago
A pointer can be re-assigned any number of times while a reference can not be re-seated after binding.
Pointers can point nowhere (NULL) , whereas reference always refer to an object. You can't take the address of a reference like you can with pointers
There's no "Reference Arithmetic" (but you can take the address of an object pointed by a reference and do pointer arithmetic on it as in &obj + 5).
Pointers can point nowhere (NULL) , whereas reference always refer to an object. You can't take the address of a reference like you can with pointers
There's no "Reference Arithmetic" (but you can take the address of an object pointed by a reference and do pointer arithmetic on it as in &obj + 5).
Rajendra said:
1 decade ago
I read all above comments, I have a question regarding reference. Some people system it is stored on stack, some says it is stored on heap that means reference has physical existence in memory (stack/heap).
Then why many of the c++ books says that "it is always better to use reference instead of variable in function formal parameter list because it doesn't reserve memory". This statement means that reference doesn't have physical existence. How this contradiction get solved?
Then why many of the c++ books says that "it is always better to use reference instead of variable in function formal parameter list because it doesn't reserve memory". This statement means that reference doesn't have physical existence. How this contradiction get solved?
Mohan said:
1 decade ago
#include<iostream>
using namespace std;
class abc
{
int i = 10;
int &j = i;
int &g = i;
cout<<"size is"<<sizeof(class abc)<<endl;
};
Output will be 12. So it gets space in stack.
using namespace std;
class abc
{
int i = 10;
int &j = i;
int &g = i;
cout<<"size is"<<sizeof(class abc)<<endl;
};
Output will be 12. So it gets space in stack.
(1)
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers