函式的返回竟然能作為左值
阿新 • • 發佈:2019-01-31
函式返回盡然能作為左值 函式引數裡的二級指標 函式引數裡的(資料型別引用) 經典不是優雅
#include <iostream> #include <iomanip> #include <stdio.h> using namespace std; struct CAssoc { CAssoc* pNext; void* unused; void* value; }; CAssoc *gpGloable=NULL; void*& func(CAssoc **temp); void main() { func(&gpGloable)="ABCDEFGHIJKLMNOPQRST"; cout<<(char*)gpGloable->value<<endl; printf("%s\n\n",gpGloable->value); // ////////////////////////////////////////////////////////////////////////// unsigned int a=100; unsigned int *p=NULL; p=&a; unsigned int **q=NULL; q=&p; cout<<a<<"\t"<<*p<<"\t"<<p<<"\t"<<**(&p)<<endl; printf("%d\n\n",*p); // ////////////////////////////////////////////////////////////////////////// CAssoc ss; ss.unused=&a; ss.value="FFFFFFFF"; unsigned int xx=(unsigned int)(*&(ss.unused)); cout<<hex<<setw(8)<<xx<<endl; cout<<(int*)(ss.unused)<<endl; printf("%d\n\n",*&(ss.unused)); printf("rrrrrrr%d\n\n",((int*)(ss.unused))); cout<<(char*)ss.value<<endl; printf("%s\n\n",ss.value); } void*& func(CAssoc **temp) { CAssoc *p=new CAssoc; *temp=p; return p->value; }