自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(8)
  • 资源 (1)
  • 收藏
  • 关注

原创 遍历STL容器时迭代器的使用注意

<br />如果是遍历查询,可先计算end迭代器,减少每次计算的数量,例如:<br />typedef vector<int> VEC;<br />VEC oneVec;<br />VEC::iterator itEnd = oneVec.end();<br />for(VEC::iterator it = oneVec.begin();it!=itEnd;++it)<br />{<br />    ...<br />}<br /> <br />但如果在遍历中会删除或增加容器中的元素,这样就会出问题。<br

2010-11-11 16:43:00 560

原创 有关结构体对齐

<br />对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构的CPU在访问 一个没有进行对齐的变量的时候会发生错误,那么在这种架构下编程必须保证字节对齐.其他平台可能没有这种情况,但是最常见的是如果不按照适合其平台要求对 数据存放进行对齐,会在存取效率上带来损失。比如有些平台每次读都是从偶地址开始,如果一个int型(假设为32位系统)如果存放在偶地址开始的地方,那 么一个读周期就可以读出这32bit,而如果存放在奇地址开

2010-07-23 12:16:00 404

原创 容器不是万能的!

之前一直被一句话误导了 “vector 和string优先于动态分配的数组。”,误以为vector比内置数组要好,最近遇到一个bug才认识到可能vector用起来确实方便些,但从效率和安全性来讲vector却不一定好。例子:在启动一个状态Status时,会遍历其中的效果Effect,逐个启动。当某个状态的某个效果是一个伤害,导致master死亡,部件被释放,该Effect启动之后返回到Status,继续遍历Effect时引起服务器崩溃,有时还报pure virtual function call。出错代码:

2010-07-01 16:52:00 538

原创 关于析构

struct IBase { virtual Release() = NULL; }; class CDerive:public IBase { public: ~CDerive() { printf("CDerive destraction/n"); }; virtual Release() { delete this; }; }; class CDerive2:public CDerive { public: ~CDerive2()

2010-06-12 18:22:00 337

原创 Lua除虫

1 table.getn不一定正确返回表中元素数量。table.getn只能返回索引从1开始的连续元素数量,对于table = {[5]=1, [6]=1}这种表table.getn返回为0。可以用下面辅助函数--判断一个表是否为空 function IsTableEmpty(tTable) for k, v in pairs(tTable) do return false end return true endfunction GetTableNum(t

2010-06-11 14:49:00 392

原创 调bug时看了一点Lua源码

调一个bug,lua中c++返回的字符串问题,该问题只在运行时出现,调试时不会出现,开始觉得很奇怪,还好现在用vs2003可以Attach Process。一路跟踪代码tolua_pushstring->lua_pushstring->lua_pushlstring->luaS_newlstr->luaM_malloc(luaM_realloc_)->(*g->frealloc)->l_allocrealloc->_realloc_base->_malloc_base->_nh_malloc_base->_

2010-06-07 14:50:00 918

原创 几种页面跳转方法

按钮式:    链接式:  返回上一步  ">返回上一步  直接跳转式:  window.location.href=http://www.9ba.cn;  开新窗口:  云上的日子 

2007-05-08 11:37:00 424

原创 C#语言中的异步方法调用 ZZ

http://www.builder.com.cn/2002/0403/46388.shtml.NET框架基类库(BCL)中有好几种类都可以提供同步和异步的方法调用。不过,因为同步方法调用会导致程序流程中途等待,所以采用同步方法的情况下往往会导致程序执行的延迟,相比来说,在某些条件下选择异步方法调用就可能更好一些,例如,有的时候程序需要给多个Web服务发出请求,这时就最好采用异步方法。这篇

2007-04-04 00:39:00 554

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除