SDL中文论坛

标题: surface [打印本页]

作者: ancientcc    时间: 2016-5-13 23:28
标题: surface
surface构造函数规则


surface提供了对SDL_Surface的自动释放操作。它假设应用程序需要的是以下逻辑。

对于第三条,让看破坏后会出什么情况。


surface.assign(const surface& o)
surface1.assign(surface2)和surface1=surface2逻辑是一样的。它们的计算量也一样。

结果

assign还有另一版本:void assign(SDL_Surface* surf),即直接把SDL_Surface赋给surface,它和前面的不同是不执行第一步。这个相比于surface1 = SDL_Surface*倒是可少点计算量,后者等于是执行三条语句。
  1. surface2 = SDL_Surface*
  2. surface1 = surface2
  3. 自动析构surface2; (surface2是临时对象)

  4. 注:surface1 = SDL_Surface*不会改变SDL_Surface的引用计数!
复制代码





欢迎光临 SDL中文论坛 (http://www.libsdl.cn/bbs/) Powered by Discuz! X3.3