返回一个静态变量作为引用,直接作为指针传递给另一个函数会发生什么?显然,变量在函数返回后保持不变,但是关于这个整体概念的事情只是困扰着我.在这个时候是数据上的内存,由静态变量占用,释放?运行时神奇地注意到,当我不再需要它,像某种垃圾收集?
举个例子:@H_403_3@
- SDL_Rect* XSDL_RectConstr(int x,int y,int w,int h)
- {
- static SDL_Rect rect;
- rect.x = x;
- rect.y = y;
- rect.w = w;
- rect.h = h;
- return ▭
- }
- void mainLoop()
- {
- while(isRunning)
- {
- pollEvents();
- SDL_BlitSurface(someSurface,XSDL_RectConstr(0,100,100),screen,NULL);
- SDL_Flip(screen);
- }
- }
SDL_BlitSurface()返回后会发生什么事情?我看不到什么时候会被释放那么这不是一种内存泄漏吗?@H_403_3@