- 博客(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关注的人