首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

流有关问题

2012-03-11 
流问题1)int *f(int a){ int *b&areturn b }void main(){ int *ccf(5)cout *cendl }2)int *f

流问题
1)int *f(int a) 
{ int *b=&a; 
return b; } 
void main() 
{ int *c; 
c=f(5); 
cout < <*c<<endl ; }
2)int *f(int a) 
{ int *b=&a; 
return b; } 
void main() 
{ int *c; 
c=f(5); 
cout < <*c ; }
这两个的输出相同么,为什么


[解决办法]
函数f返回局部对象的指针,对该指针的访问结果将是不可预测的。因为局部对象在函数返回后将不再有效。
endl将刷新流缓冲区并回车换行。
[解决办法]
不相同的。
endl刷新流缓冲区
[解决办法]
同意一楼的。返回指向临时变量的指针不可预料
因为你的例子里的临时变量的作用域仅在函数内部

热点排行