is it valid
1.(Assigning a null value to reference)?
int **pt=NULL;
int &r=*pt;
(Indirectly assigning NULL ?? to &r)
2. int &f()
{
int y=10;
return y;
}
main()
{
f()=30;//(what it does?)
cout<<f();
}
is it valid
1.(Assigning a null value to reference)?
int **pt=NULL;
int &r=*pt;
(Indirectly assigning NULL ?? to &r)
2. int &f()
{
int y=10;
return y;
}
main()
{
f()=30;//(what it does?)
cout<<f();
}
int *pt=NULL;
this statement is perfectly valid and I am not sure about other statements.
int *pt = NULL;//valid statement
Reason: pt is an integer pointer and NULL can be saved in them
int &r= ptr;//Invalid statement
Reasons:
An integer’s address cannot be changed
An integer whose address is NULL means there is no integer
&r is to refer to address to address of r but = operator is not defined with it
int &f(){ int y = 10; return y;} main(){f()=30;cout << f();}//Valid statement
What will it do: Nothing will just print 10
what f() = 30 do?
Answer: suppose we declare an integer pointer(since return type of f() is int) as follows:
int *p = &f();
then *p will initially store address of f() and it will instead of calling pointeres will read as 10
f() = 30 will change it 30
but only values of pointers will be changed.