??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久久国产精品麻豆AR影院,亚洲αv久久久噜噜噜噜噜,国产精品久久久久久久久软件 http://www.shnenglu.com/expter/category/8547.html成都游戏CoderQ记录游戏开发过E的W记和心得! zh-cn Sat, 09 Apr 2011 05:12:02 GMT Sat, 09 Apr 2011 05:12:02 GMT 60 关于 warning C4715问题?/title> http://www.shnenglu.com/expter/archive/2011/04/09/143795.htmlexpter expter Sat, 09 Apr 2011 04:52:00 GMT http://www.shnenglu.com/expter/archive/2011/04/09/143795.html http://www.shnenglu.com/expter/comments/143795.html http://www.shnenglu.com/expter/archive/2011/04/09/143795.html#Feedback 0 http://www.shnenglu.com/expter/comments/commentRss/143795.html http://www.shnenglu.com/expter/services/trackbacks/143795.html 介绍: 关于warning C4715:not all control paths return a value (不是所有的控g路径都返回?. 问题: 一个函敎ͼ不是所有\径都有返回|如下: 1) 基本数据cd 对于函数的ƈ不是每个分支都有q回|那么q样警告?x)提CZ是所有\径都有返回倹{?/p>
int test( int value ) { if ( value > 0 ) return value; }
调用 int value = test( -1 ); 看下test的汇~代?
关于8个程序寄存器一般只有esp寄存器作为入栈,出栈Q调用和q回指o(h)作ؓ(f)栈指针,其余 比如eax,exc{寄存器都没有固定的含义和固定? 看下面test汇编代码. int test( int value ) { ; 4个寄存器入栈 ; ebp 用于存放函数栈的栈顶指针 ; esp 用于存放函数栈的栈底指针 004113A0 push ebp ;寄存器ebp的内容压入程序栈 004113A1 mov ebp,esp ;保留esp寄存?br> 004113A3 sub esp,0C0h ;函数留出临时存储?br> 004113A9 push ebx 004113AA push esi 004113AB push edi ; ?CCCCCCCCh初始化堆?nbsp; 004113AC lea edi,[ebp - 0C0h] ;lea直接d 004113B2 mov ecx,30h ;利用~译器的offset立即d 004113B7 mov eax,0CCCCCCCCh ;eax = 0CCCCCCCCh 004113BC rep stos dword ptr es:[edi] ;Ҏ(gu)edi的大来重复指o(h)执行ơ数 ; 如果 cmp为真则把value的g存到eax寄存器中 ; 否则跌{到地址4113C7h,q没有对eax做处?br> if ( value > 0 ) return value; 004113BE cmp dword ptr [value], 0 004113C2 jle test + 27h (4113C7h) 004113C4 mov eax,dword ptr [value] } ;各指针出栈,对应前面3条push 004113C7 pop edi ;弹出edi 004113C8 pop esi ;弹出esi 004113C9 pop ebx ;弹出ebx 004113CA mov esp,ebp ;把esp重新指向ebp(函数栈的栈顶?br> 针,test函数栈顶) 004113CC pop ebp ;ebp重新指向test调用函数q回地址 004113CD ret
调用汇编代码
int value = test ( 1 ); 004113FE push 1 00411400 call test (4110AFh) 00411405 add esp, 4 ;Call test 函数时将压入栈数据, ׃只有一个参敎ͼ所以只?字节 00411408 mov dword ptr [value],eax
当test 调用于0时最后value指向的eax是一?CCCCCCCChQ而对于基本数据类型大多value得到的是0CCCCCCCCh? 如果我们的test函数:
int test( int value ) { if ( value > 0 ) return value; return 0 ; }
那么汇编代码?x)如?
if ( value > 0 ) return value; 004113EE cmp dword ptr [value], 0 004113F2 jle test + 29h (4113F9h) 004113F4 mov eax,dword ptr [value] 004113F7 jmp test + 2Bh (4113FBh) return 0 ; 004113F9 xor eax,eax ;eax清零,作ؓ(f)q回?/span>
2 )如果q回的是一个引用对?br>
obj & test( type value ) { if ( type2 ) return obj; } obj & ob = test( type1 );
如果ob是个I引用的话,出出错Q关于这U出错是否可以通过什么方式避免呢Q?br> 我觉得warning C4715应该是error C4715.让开发者从最开始就避免q种错误的发生?br>
]]> 利用Win32消息来解决MyGui中文完整输入 http://www.shnenglu.com/expter/archive/2011/03/23/142577.htmlexpter expter Wed, 23 Mar 2011 07:20:00 GMT http://www.shnenglu.com/expter/archive/2011/03/23/142577.html http://www.shnenglu.com/expter/comments/142577.html http://www.shnenglu.com/expter/archive/2011/03/23/142577.html#Feedback 1 http://www.shnenglu.com/expter/comments/commentRss/142577.html http://www.shnenglu.com/expter/services/trackbacks/142577.html 介绍: 利用Win32 来处理MyGui 3.0.1的中文输入?br> 实现: 配置q是参考网上的配置Q主要再加中文字? 如下:
?nbsp;更改配置文gMyGUI3. 0 \Media\MyGUI_Media?br> ?nbsp;core_font.xmld < Resource type = " ResourceTrueTypeFont " name = " font_Simhei " > < Property key = " Source " value = " simhei.ttf " /> < Property key = " Size " value = " 19 " /> < Property key = " Resolution " value = " 50 " /> < Property key = " Antialias " value = " false " /> < Property key = " SpaceWidth " value = " 4 " /> < Property key = " TabWidth " value = " 8 " /> < Property key = " CursorWidth " value = " 2 " /> < Property key = " Distance " value = " 6 " /> < Property key = " OffsetHeight " value = " 0 " /> < Codes > < Code range = " 33 126 " /> < Code range = " 19969 40869 " /> < Code hide = " 128 " /> < Code hide = " 1026 1039 " /> < Code hide = " 1104 " /> </ Codes > </ Resource > ?nbsp;simhei.ttf要从pȝ目录下的Fonts拯到当前目录?br> ?nbsp;core_settings.xml中将默认字体Ҏ(gu) < MyGUI type = " Font " > < Property key = " Default " value = " font_Simhei " /> </ MyGUI >
q行Demo解决Ҏ(gu): solution_directx?br> lBaseManagerdWin32消息响应函数void ProcIO(UINT messgae, WPARAM wParam, LPARAM lParam ).
case WM_CHAR: case WM_KEYDOWN: case WM_KEYUP: { base ::BaseManager * baseManager = ( base ::BaseManager * )GetWindowLongPtr(hWnd, GWL_USERDATA); if ( baseManager ) baseManager -> ProcIO( uMsg , wParam , lParam ); break ; }
ProcIO主要是对 WM_CHAR 字符响应 WM_KEYDOWN/WM_KEYUP 按键响应 在处理字W响应的时候需要区分输入法状态和非输入法状态的字符响应?br>
case WM_CHAR: { if ( ImmIsIME( GetKeyboardLayout( 0 ) )) ProcChar( wParam , lParam ); else { MyGUI::InputManager::getInstance().injectKeyPress(MyGUI::KeyCode::Enum(scan_code), code_point); } ; } break ;
ProcChar函数主要处理中文。因为汉字ؓ(f)8个字节会(x)响应WM_CHAR2ơ。需要进行组合一ơ?br>WM_KEYDOWNQ主要处理一些Widget字符输入。同时还可以做全局键盘信息监控Q快捷键Q? 判断一个Widget是否可以q行字符输入: \MyGUIEngine\include\MyGUI_InputManager.cpp
bool InputManager::isKeyInputCapture() { if ( ! mWidgetKeyFocus ) return false ; std:: string strName = mWidgetKeyFocus -> getTypeName(); if ( strName == " ComboBox " || strName == " Edit " || strName == " Message " || strName == " List " ) { return true ; } return false ; }
׃采用Win32键盘消息Q应该屏蔽自带OIS的?br>Input\OIS\InputManager.cpp
void InputManager::captureInput() { if (mMouse) mMouse -> capture(); // mKeyboard->capture(); }
在Demo中监控按键消? DemoKeeper功能是UIManager )?br>
void DemoKeeper::injectKeyPress(MyGUI::KeyCode _key, MyGUI::Char _text) { if (_key == MyGUI::KeyCode::Grave) { mConsole -> setVisible( ! mConsole -> isVisible()); return ; } else if (_key == MyGUI::KeyCode::F2 ) { MyGUI::Message::createMessageBox( " Message " , " Info " , " Press F2 " , MyGUI::MessageBoxStyle::Ok | MyGUI::MessageBoxStyle::IconInfo); return ; } else if (_key == MyGUI::KeyCode::F3 ) { MyGUI::Message::createMessageBox( " Message " , " Info " , " Press F3 " , MyGUI::MessageBoxStyle::Ok | MyGUI::MessageBoxStyle::IconInfo); return ; } base ::BaseManager::injectKeyPress(_key, _text); }
最后附上源码解x?/Files/expter/MyGuiDemo.rar 囄Q?img border=0 alt="" src="http://www.shnenglu.com/images/cppblog_com/expter/mygui.jpg" width=417 height=317>
]]>Ҏ(gu)子类cd讉K其特有操? http://www.shnenglu.com/expter/archive/2011/02/24/140616.htmlexpter expter Thu, 24 Feb 2011 15:23:00 GMT http://www.shnenglu.com/expter/archive/2011/02/24/140616.html http://www.shnenglu.com/expter/comments/140616.html http://www.shnenglu.com/expter/archive/2011/02/24/140616.html#Feedback 4 http://www.shnenglu.com/expter/comments/commentRss/140616.html http://www.shnenglu.com/expter/services/trackbacks/140616.html 阅读全文 ]]> 针对一个内存池试相关介绍 http://www.shnenglu.com/expter/archive/2011/01/18/138787.htmlexpter expter Tue, 18 Jan 2011 13:20:00 GMT http://www.shnenglu.com/expter/archive/2011/01/18/138787.html http://www.shnenglu.com/expter/comments/138787.html http://www.shnenglu.com/expter/archive/2011/01/18/138787.html#Feedback 3 http://www.shnenglu.com/expter/comments/commentRss/138787.html http://www.shnenglu.com/expter/services/trackbacks/138787.html 目的: 针对自己的一个内存池如何试其性能. 介绍Q?br>1.内存池测试用例的选取. 1.单线E的分配和释? 2.内存回收. 3.性能x.
关于内存池的设计和实现网上遍地都是,本文不具体介l关于内存池的具体实现和方式Q主要是介绍设计一个内存池怎样L试其性能和安全处理,有一个开源的内存池项目tcmalloc也有介绍很多Q但是ؓ(f)了满_U需求,代码q于庞大Q最后我用来试分配性能试?/p>
1个内存池的测试用例应该包含:(x) 1Q该目内存分配概率随机? 2Q同时保证释攄随机? 3Q可以支持多U分配方式(不同大小Q不同对象参数等Q?
要达C面要求则可以设计 1.一个数l来讑֮需要分配的大小?br> long arr[ ] = { 16,32,64,128,256,512,1024,2048,5120,5130,7000,6000,10240,15000,20000}; 2.Ҏ(gu)需求来指定各个大小的分配几率,q好比有多少概率选中某个敎ͼ需特定的分配):
A.针对q个需求可以设定定一个概率数lOdds,数组值arrArr的烦引?br> B.针对Odds指定数组数据Q其数据分配达到arr需要分配概率?br> /**/ /// 被分配的概率 long Odds[ ] = { 0 , 0 , 0 , 1 , 1 , 2 , 2 , 2 , 3 , 3 , 4 , 4 , 4 , 4 , 5 , 5 , 5 , 5 , 6 , 6 ,, 7 , 7 , 7 , 8 , 8 , 8 , 8 , 9 , 9 , 9 , 10 , 10 , 11 , 12 , 12 } ; C.随机Odds数组Q然后得到其值分配,其值则为Arr的烦引?br> long Asize = arr[ Odds[ rand() % size ] ] ;
3.释放保证随机性?br> 什么时候释放,以及(qing)分配了做什么用Q都是又应用层决定的Q所以需要把分配出来的内存通过一个容器来存储. ׃分配是随机性,那么释放的时候也保证了随机性?br> 4.支持多种分配方式?br> A. 对象分配:
MemFactory Memory; A * a = Memory.Alloc < A > ( ); B * b = Memory.Alloc < B, int > ( 2 ); Memory.FreeObj( a ); Memory.FreeObj( b );
B.直接分配
void * p1 = Memory.Alloc( Asize );
5.性能试 Z试性能Q我选择了分?000Wơ,其中用一个容器保存分配的数据Q然后当容器到达100W的时候释?0W数据(保证数据正在使用Q随机释??br> 下面的Alloc time 只是l计的Alloc旉累加QFree time只是l计的Free 旉累加QTotal time记录q次试dp旉?/p>
1 试l果如下: 2 MemPool Alloc time 3242 ms Free time: 2412 ms Total time 22535 ms 3 System Alloc time 33616 ms Free time: 6676 ms Total time 55013 ms 4 TCMalloc Alloc time 3451 ms Free time 1896 ms Toal time 21078 ms 5 6 可以看到TCMalloc的分配和释放都比较快。?br> 7 8 其中arr每个分配的大命中概率?br> 9 Count[ 1 ] = 2436395 10 Count[ 2 ] = 1281728 11 Count[ 3 ] = 1026009 12 Count[ 4 ] = 769123 13 Count[ 5 ] = 768911 14 Count[ 6 ] = 769335 15 Count[ 7 ] = 640757 16 Count[ 8 ] = 640974 17 Count[ 9 ] = 512378 18 Count[ 10 ] = 384841 19 Count[ 11 ] = 256135 20 Count[ 12 ] = 257367 21 Count[ 13 ] = 256047
PSQ?br>1.内存池的使用Q?br>
一般情况下内存池,是整理一整块内存Q然后通过一个list串连hQ然后分配的时候从链表中获取,释放也是插入到链表中?br> Z方便多对象的多参C?qing)无参数的分配,可以一些列宏和模板来实? 具体的可以参考后面附带的内存池实现的代码: #define DEFINE_CALL_CON( paramcount ) template <class T, DP_STMP_##paramcount( typename, tp ) >\ inline T * Alloc(DP_MTMP_##paramcount( tp, p ) ) {\ unsigned long lSize = sizeof (T);\ void * ptMem = Alloc(lSize);\ if ( ! ptMem) return NULL; \ T * pt = new (ptMem)T( LP_SNMP_##paramcount( p ) );\ return pt;\ } A. 对象分配: MemFactory Memory; A* a = Memory.Alloc < A > ( ); B * b = Memory.Alloc < B, int > ( 2 ); C* c = Memory.Alloc<C,int,const char*>(1,"dd"); Memory.FreeObj( a ); Memory.FreeObj( b ); Memory.FreeObj( c ); B.直接分配 void * p1 = Memory.Alloc( Asize ); memset(p1,0,ASize);
2.内存池的代码Q?br> 1) 实现全是利用的freelist,减少内存开销Q分配速度Q直接定位?br> 2) 理都是通过工厂cL同一的管理?br> 3) 指定分配{略. 源码为Vs2008版本... /Files/expter/Pool.rar 关于实现有疑问和Q可以提出宝늚意见。?/p>
]]>定制自己的new ?deleteQ让对象在静态块上进行分配?/title> http://www.shnenglu.com/expter/archive/2009/08/16/93511.htmlexpter expter Sun, 16 Aug 2009 11:47:00 GMT http://www.shnenglu.com/expter/archive/2009/08/16/93511.html http://www.shnenglu.com/expter/comments/93511.html http://www.shnenglu.com/expter/archive/2009/08/16/93511.html#Feedback 10 http://www.shnenglu.com/expter/comments/commentRss/93511.html http://www.shnenglu.com/expter/services/trackbacks/93511.html 一般常见的new和delete操作W,意味着使用堆进行内存分配,使用new操作W是名ؓ(f)operator new的函数调用,且函数返回返回一个指向某块内存分配器分配内存指针? 对于内存的分配到底从哪儿来没有Q何限Ӟ它可能来自一个特D的堆,也可能来自一个静态分配的块,也可能来自一个标准容器内部,也可能来自某个函数范围的局部存储区。而对于现在的各自软g中主内存管理方式,一般通过内存池的理方式Q它可能卛_含静态分配也同时包含动态分配?nbsp; 阅读全文 ]]> 毕业了,又是d?月?/title> http://www.shnenglu.com/expter/archive/2009/06/17/87903.htmlexpter expter Wed, 17 Jun 2009 13:16:00 GMT http://www.shnenglu.com/expter/archive/2009/06/17/87903.html http://www.shnenglu.com/expter/comments/87903.html http://www.shnenglu.com/expter/archive/2009/06/17/87903.html#Feedback 0 http://www.shnenglu.com/expter/comments/commentRss/87903.html http://www.shnenglu.com/expter/services/trackbacks/87903.html 上周毕业{辩利l束Q宣告我的大学生zd结束。四q_(d)Ҏ(gu)一挥,四年Q磨一剑,记得刚进大学的时候有q不憧憬,对一切都充满着qLQ可是四q后的今天,很多憧憬都被现实_碎Q把我的性格^了,把我得E微q静了,但是变得更加的倔强Q变得比较宅P有些东西拿得P攑֍不下?br> 6月是一个离别的季节Q在q离别之际,不得不给自己的同H好友说再见Q祝每一个h都有好的明天,q里充满着我们大学的回忆,有欢W,有泪_(d)有无助等{,所有的q一切我都会(x)喜欢Q同时也因ؓ(f)奛_Q我也喜Ƣ怀旧,喜欢把以前的东西d来看看,品味得与失。离别是Z下一ơ重逢,我们?x)再ơ相遇?br> 我不后?zhn)我大学生z,q里我认识了不少朋友和老师Q学到的不仅是知识,而更多的是做人,更是思想上进步,q才是想要的。我不浪漫,也不OQ我更喜Ƣ独自一个h在哪儿凝思,一个h在哪儿玩游戏Q品呌一切自己可能才可能感觉的快乐?br> 我说话一般不l过大脑Q^时可能有些语aq于刺激Q但是跟多的是成为笑话,夜深人静的时候我喜欢在哪儿听最q一直听的哪首歌Q对着?sh)脑发呆不知道做什么。想着那里来,那里去吧,L该去的地方,L该寻觅的角落Q去我小的世界Q去我追ȝ港湾Q去?#8230;… 我口才不怎么好,交流上也不是很主动,但是信念一直支撑着我,坚持Q努力,Z那当初的承诺和梦惟?span> 在工作上我真的学C,最q也没在坚持每天都在哪儿敲键盘,忙毕业答辩的事情Q可惜我制作的PPTQ对于我长篇大论的说法Q老师却没多大兴趣。在公司学会(x)了代码重用性,可扩展性的重要行。在后期l护以及(qing)代码重用都是很重要,一个好的设计模式可能直接媄响整个系l的性能或者稳定性。最q也比较Ԍ没事看到内存池,脚本pȝ的设计。自q兴趣一直在|络Q虽然学得较,但是q是坚持学习(fn)Q感谢公司的fox,kevinlynx ,pozen,q有奛_一切帮助。中午休息时玩warҎ(gu)Q一直被fox虐,一是打得撇Q二是很久不打,对其没多大兴?br> 努力吧,Z自己Q也Z兛_自己的所有h?br>
]]> E住心态,l箋前进。?/title> http://www.shnenglu.com/expter/archive/2009/04/26/81106.htmlexpter expter Sun, 26 Apr 2009 03:05:00 GMT http://www.shnenglu.com/expter/archive/2009/04/26/81106.html http://www.shnenglu.com/expter/comments/81106.html http://www.shnenglu.com/expter/archive/2009/04/26/81106.html#Feedback 1 http://www.shnenglu.com/expter/comments/commentRss/81106.html http://www.shnenglu.com/expter/services/trackbacks/81106.html 阅读全文 ]]> 一周回?2009.03.30-) http://www.shnenglu.com/expter/archive/2009/04/06/79133.htmlexpter expter Mon, 06 Apr 2009 15:55:00 GMT http://www.shnenglu.com/expter/archive/2009/04/06/79133.html http://www.shnenglu.com/expter/comments/79133.html http://www.shnenglu.com/expter/archive/2009/04/06/79133.html#Feedback 0 http://www.shnenglu.com/expter/comments/commentRss/79133.html http://www.shnenglu.com/expter/services/trackbacks/79133.html 本周公司游戏公测Q然后也玩了此玩游戏Q同时也比较兛_游戏的运营状态,毕竟是公司第一ƾ游戏?br> 虽然没有参与此游戏的开发,但是看了server部分的代码,可以通过此次q营游戏的问题,来提醒自׃后尽量不要出现此问题Q或者是提供一个更好的解决Ҏ(gu)?br> 本周在公司没做多大的事情Q游戏公,我也跑去玩游戏去了,虽然没有太大的网游天赋,但是q是量通过看的资料与代码在l合游戏来熟(zhn)各个环节,׃后开发做好一定的基础?br> 本周清明节,攑ց3天,攑ցW一天先是回校和朋友们耍了Q然后一起去图书馆还书,在借书Q然后收?a href="http://www.shnenglu.com/expter/admin/www.3g.cn">3G门户Z的一些信息。放假第二天?sh)脑出问题了Q我写的代码用VS2005,VC6 一link׃(x)LQ只有拔甉|。我也不知道什么BUG。郁h了,重装pȝ问题依旧。陷于崩溃,最后打了几盘Z3Q缓解了下心情,然后只有用DEV了。晚上换了以前的SolarisQ安装了Ubuntu8.10Q当然是虚拟机。放假第三天Q和朋友逛了家乐,下午睡觉Q看了下毕业设计Q有一些头l了?nbsp; 然后晚上看了?x)书。三天放假就q样q去了,感觉像一宅男Q下午和妈妈聊天Q他喊我出去处处逛逛,我说一个h没撒好逛的Q已在叮嘱我多吃Q吃多点Q感觉在父母gq是个小孩。?nbsp; q周看了2部电(sh)影,很好看,很好看,一部励志电(sh)影《当q福来敲门?一部很感h的爱情片《八月迷情》?br> 同时最q看了些书与代码Q感觉收莯大,风格和注意问题都有提高。希望能再接再厉Q保持状态,努力学习(fn)Q?br>
]]> 一周ȝQ读书笔?/title> http://www.shnenglu.com/expter/archive/2009/03/29/78313.htmlexpter expter Sun, 29 Mar 2009 14:28:00 GMT http://www.shnenglu.com/expter/archive/2009/03/29/78313.html http://www.shnenglu.com/expter/comments/78313.html http://www.shnenglu.com/expter/archive/2009/03/29/78313.html#Feedback 7 http://www.shnenglu.com/expter/comments/commentRss/78313.html http://www.shnenglu.com/expter/services/trackbacks/78313.html 查看了接q一周的代码和书c有了一下ȝQ?br>1.如果不需要一个类的对象不能被隐式的{换,可以在构造函数前增加关键字explicit
1 template < class T > 2 class Array 3 { 4 public : 5 explicit Array( int _size = 0 ); 6 T & operator []( int index); 7 8 }; 9 10 Array< int > a( 10 ); 11 Array< int > b( 10 ); 12 13 if (a == b[i]) 14 { 15 // 如果没有加explicitQ可以编译通过Q加了就不能通过 16 } 17 // 要{换可以?/span>18 if (a == static_cast < int > b[i]) 19 { 20 ..21 }
2.可以通过宏或者const帔R,来优化,减少和优化常量,q可以利用宏来定义一些函敎ͼ或者字W串的处理?br> 比如一个简单的字符串处?br>
1 #define STR(ST) #ST
3.容器的用,注意各种函数的参数和q回g?qing)各U函C用?br> 比如Q关联容器和标准容器在删除元素的时候会(x)不同?br> 例子Q?br>
1 对于ma{关联容器的元素删除 2 map< int , int > mp; 3 for (map < int , int > ::iterator it = mp.begin(); it != mp.end();) 4 { 5 if ( ) // 满删除条g 6 { 7 mp.erase(it++ ); // 删除当前节点Qƈq回下一个元素,自加 8 } 9 else 10 { 11 it++ ; 12 }13 }14 对于vector{标准容器的元素删除15 vector< int > ve; 16 for (vector < int > ::iterator it = ve.begin(); it != ve.end();) 17 { 18 if ( ) // 满删除条g 19 { 20 it = ve.erase(it); 21 }22 else 23 { 24 it++ ; 25 }26 }27 28 关于2者区别主要是eraseq回值问题,可以在网上查相关的说明,
4.关于内存池,Z动态分配的安全的线E池Q可以利?个参敎ͼ一个数据类型,一个锁cȝ参数模板?br> 关于内存池可以阅?a name=N102C3>boost::pool 库相x档,Boost pool
库引入了可用于实现快速内存分配的工具。正的内存块对齐可以得C证?
Ҏ(gu) Boost 文档所qͼ当?zhn)分配和释放许多小型对象时Q徏议用池。用池的另一个不太明昄优点在于Q作为程序员Q?zhn)不必担心内存泄露Q内存由 Boost 库在内部自动q行理。要使用 pool
库,(zhn)不必在链接时提供特定的库——单凭头文gp以完成链接了?有多个接口对 pool
库可用:(x) 关于Boost pool可以阅读 http://www.ibm.com/developerworks/cn/aix/library/au-util_boost_lib/
另外实现一个锁cL很大的用处,比如
1 template < typename TyVal > 2 class Lock 3 { 4 public : 5 explicit Lock() 6 {} 7 explicit Lock(TyVal val):_val(val) 8 { 9 // 加锁 10 } 11 ~ Lock() { // 释放} 12 private : 13 TyVal _val;14 }; 15 16 如果我们有一D代码需要加锁,则可以直接?br>17 vector< int > Vint; 18 Lock< vector < int > > lock (Vint); 19 可以直到l(f)ock的声明周期结束,释放资源
5.关于重蝲操作W,本周看到同事们在讨论一个关于结构体的代?br> 实例如下:
1 struct Test 2 { 3 // 4 5 Test & operator = ( const Test & _t) 6 { 7 // 关于此处是否需要增加一?nbsp;_t?this的判? 8 memcpy(this,&t,sizeof(t)); 9 return * this ; 10 }11 12 // 13 } ;
因ؓ(f)效率和安全的问题Q是否需要增加判断的代码Q比?br> if(_t == *this) { return *this; } 其实Effective C++的条?7: Q在operator=中检查给自己赋|的情况已l说了需要增加一个自验证Q我们姑且不考虑memcpy的数据重叠问?new placement)Q增加一个明显有好处?br> 6. 必须有良好的OOA,OOD思想Q这栯更快写出Q高效的代码?br>7. 法重要Q有良好的编E风|在确保程序稳定的同时Q增加效率?br> 个hȝ不代表其他意见。?
]]> 2007q我在干?/title> http://www.shnenglu.com/expter/archive/2009/03/29/78258.htmlexpter expter Sun, 29 Mar 2009 06:50:00 GMT http://www.shnenglu.com/expter/archive/2009/03/29/78258.html http://www.shnenglu.com/expter/comments/78258.html http://www.shnenglu.com/expter/archive/2009/03/29/78258.html#Feedback 3 http://www.shnenglu.com/expter/comments/commentRss/78258.html http://www.shnenglu.com/expter/services/trackbacks/78258.html 阅读全文 ]]> 生活杂记。。?/title> http://www.shnenglu.com/expter/archive/2009/03/08/75908.htmlexpter expter Sun, 08 Mar 2009 08:28:00 GMT http://www.shnenglu.com/expter/archive/2009/03/08/75908.html http://www.shnenglu.com/expter/comments/75908.html http://www.shnenglu.com/expter/archive/2009/03/08/75908.html#Feedback 2 http://www.shnenglu.com/expter/comments/commentRss/75908.html http://www.shnenglu.com/expter/services/trackbacks/75908.html q周末本来打租房的Q结果还是没扑ֈQ很郁闷了,估计q得每天早v晚归一周,原因有几Q房价太高,条g不好Q都是中介舍不得中介费,家具配置也不咋全?br> q周在fox的帮助下Q终于把Netmonitor搞完了,qxq是得多看书Q多学习(fn)?br> 周六找房子没扑ֈQ实?fn)论文懒得写Q晚上又真三了一盘?br> 周末M了会(x)自习(fn)Q看了下书,闲时看了下朋友的公务员题目,看了几道题有几个不会(x)Q汗一?br> 题目如下: (猜数? 1 . 1 2 3 35 .. 猜下个数?br> 2 . 1 3 4 1 9 猜下个数?br> 下周计划Q?br> 1.没事多看书Q多看代码,多与其他Z?br> 2.每天晚上多熟(zhn)shell~程?br> 3、一定要定房子?br> 4、提前一个月女友公务员考试成功。因Z生活更精彩!
]]> 一些学?fn)笔?,陷阱Q缺?/title> http://www.shnenglu.com/expter/archive/2009/03/08/75897.htmlexpter expter Sun, 08 Mar 2009 06:05:00 GMT http://www.shnenglu.com/expter/archive/2009/03/08/75897.html http://www.shnenglu.com/expter/comments/75897.html http://www.shnenglu.com/expter/archive/2009/03/08/75897.html#Feedback 5 http://www.shnenglu.com/expter/comments/commentRss/75897.html http://www.shnenglu.com/expter/services/trackbacks/75897.html
1、关于初始化:
deque < string > Deque; // 一个deque容器 deque< string > Deque2(Deque.begin(),Deque.end()); // 一U初始化 copy(Deque.begin(),Deque.end(),back_inserter(Deque2) ); // 一U初始化 deque< string > Deque3(istream_iterator < string > (cin),istream_iterator < string > ()); // 一U初始化
现在讨论W三U初始化方式Q?br>
typedef istream_iteraor < string > (Func)(); deque < string > Deque3(istream_iteraotr < string > cin, Func); 看上d一个函数声明, typedef istream_iteraor < string > (Func)(); deque < string > f(stream_iteraor < string > ,Func); 现在比较清晰了吧Q很像一个函数声明了Q?br> 所以第三种初始化方式根本就不能做Q何事? // 如果真的要达到初始化的目标,可以通过括号来消除二义?/span>deque < string > Deque3( (istream_iterator < string > (cin)) , istream_iterator < string > () );
通过加括h提示~译器我们这里提供的是构造函数的参数而非参数声明Q因?(istream_iterator<string> (cin)) 不能解析为变量声明,q个更void f ( (int i)) 不可能是函数声明是一回事。多一Ҏ(gu)号不可能解释为合法的声明语句?br> 2.关于double 和float 区别 一个例?
int main() { double x = 1e8; while (x > 0 ) x -- ; return 0 ; }
现在的编译器一U就可能q行完成Q?br>如果吧doubel x = 1e8 ,换ؓ(f) float x = 1e8; C++标准?: 点cd有三U? float ,double, long double,关于_ֺ很显?br>如果换成float {案很诡异,因ؓ(f)取决于float的精度,能否表达0 1e8区间的整?br> 所以如果换?floatQ可能运行一U,也可能是d@环,因ؓ(f)如果float不能表达0 1e8区间的整敎ͼ 因ؓ(f)其中 n-1 = n (׃点_ֺ不够) ?br> 3. 一些拼写代码错?br>
#include < iostream > #include < iomanip > using namespace std; int main() { int x = 1 ; for ( int i = 0 ; i < 100 ; i ++ ) { ; } // 下面q行代码?x)干些什么?递增???????/ ++ x; std::cout << x << std::endl; return 0 ; }
一个支持标准c++的编译器{案输出?1 原因很诡异,因ؓ(f)有个有趣的是Q注释末?#8216;??/’?x)被转换?\' Q写个宏的都知道q个是换行W,所??/换{换ؓ(f)\ Q?+xq当于_脓(chung)到注释行的末?nbsp;Q所?+x.,不会(x)起作用,是注释的一部分?br> 在看一个例子:(x) 一个符h?c++的编译器?x)报多少错误?br>
struct X { static bool f( int * p) { return p && 0 [p] and not p[ 1 : >> p[ 2 ]; } };
先一步一步的分析 1:0[p] 其实和p[0]一?br>2: and not都是有效关键?Q他们分别是&& ? 3::>竟然也是合法的,他是]的双字符写法?/p>
所以这个语句会(x)被解析ؓ(f) return p && p[0] && !p[1]>p[2] Q没有语法错误?br>很诡异?/p>
]]> 最q笔C?qing)ȝQ?/title> http://www.shnenglu.com/expter/archive/2009/02/22/74618.htmlexpter expter Sun, 22 Feb 2009 14:21:00 GMT http://www.shnenglu.com/expter/archive/2009/02/22/74618.html http://www.shnenglu.com/expter/comments/74618.html http://www.shnenglu.com/expter/archive/2009/02/22/74618.html#Feedback 12 http://www.shnenglu.com/expter/comments/commentRss/74618.html http://www.shnenglu.com/expter/services/trackbacks/74618.html 没看看着忙碌的同事,q有游戏正在三测Q都在加班,我只是看一些一些接口,一些逻辑代码Q没多大的事情,估计是刚来Q务也很轻吧,呵呵Q?br> 在校虽然学了L的的语言Q但是最后选择C++Q因为它开发自由,效率高,l构性很强等{。最q看了几本书Q对OOD,OOAQ以?qing)编写代码时的问题,与良好的设计模式有了一定的提高Q但是对于有些又有些遗忘Q比如STLQLUA,软g工程。在我看来,一个程序员必须有很好的法功底与扎实的数据l构Q最q手中还有几本书Q打闲的时候看QOOD启示录,boost也得学学,另外stlQ设计模式和|络~程以及(qing)他的几种模型都要加强复习(fn)?br> 在我看来一个项目只有有了这斚w的理论知识,有一门熟l的语言Q实现v来都很快Q自己感觉缺的是一U思想Q架构思想Q估计是自己接触的太,l验太少Q需要的是时间来催化Q?br> 同时很高兴在新的环境认识了新的朋友,大家都很和善Q同时也知道fox,kevinlynx也经常在CPPBLOGq里写日讎ͼ以后得像2位学?fn),以?qing)公司的同事都是俺的前辈?br> 在大学没有写个太大的E序Q估计最大一个Y件的?K左右行吧(c++)QACM估计?00多道Q以?qing)^时也的小东西不到20个项目。学?fn)笔讎ͼ以?qing)一些简单的win 32 ~程q是有少许,比如底层驱动之类的?br> 现在的Q务就是多看一些大牛的技术blogQ多看书Q多写代码才是王道,以后~程量规范了,良好的风g?qing)更好设计模式,更优的算法才是最好的Q在我^时做什么东西,都希望敢旉Q几下就做不了了之。还得改正?br> 我比较喜Ƣ网l编E,q_斚w主要是win,对于linux只是写过Q^时玩玩。学得都比较毕竟没做个啥子大的商业目。既然来了这个公司就要做己成l。年L无限的激情,p努力?br> 在等D|间就要写毕业设计和论文了Q希望没多大问题Q一个彩色h脸识别程序,关键是识别成功率Q?br> 在大学最后的旉卛_完成Q迈入社?x)就得认真对待Q何事情了。努力工作,挣钱Q养老婆Q呵呵! 加a(b)Q!Q就想kevinlynx那天说的Q让人知道你能做什么,?x)什么!Q?br> 因ؓ(f)自己表达能力E加Q一般不写技术,怕描q因ơ误导或者ؕ说了Q其实也没多大技术含量、、、呵?主要记录的生zȝ讎ͼ
]]> 09q新的一天开?/title> http://www.shnenglu.com/expter/archive/2009/02/10/73415.htmlexpter expter Tue, 10 Feb 2009 14:24:00 GMT http://www.shnenglu.com/expter/archive/2009/02/10/73415.html http://www.shnenglu.com/expter/comments/73415.html http://www.shnenglu.com/expter/archive/2009/02/10/73415.html#Feedback 2 http://www.shnenglu.com/expter/comments/commentRss/73415.html http://www.shnenglu.com/expter/services/trackbacks/73415.html 然后HRq我安排了入职手箋Q然后带我去找了l理Q分配了位置?nbsp; 最后公司给我分配了?sh)脑Q配|确实不?4?200?3G内存 独显Q而且每个?台电(sh)脑,一台内|一台外|?br> 我拿到电(sh)脑后开始自己安装一些线路,安装好了后公司来了一个hl我配置了一些信息,比如公司邮gQFTPQ资料之cȝ? 但是作ؓ(f)开发还是没有开发工P此时正在{咋办呢Q是不是要自己带一个盘在装呢,呵呵Q这时foxQ就是他才进q个公司Q虽然去q我校招拿到8个offerQ但是还是去q家Q很感谢他啊Q给我下载了一些开发Y件和辅助工具Q最后还传了内网的飞U聊天YӞ做得很是详细啊?br> 上午大概做了这些,是分配?sh)脑啊,配置pȝQ安装一些Y件?br> 下午foxl了一个Q务,是做一个宠物编辑器。然后给了一些相x档,代码和配|文件。看了一下午的代码以?qing)分析一些,有什么问题以?qing)疑问都做了W记?br> 明天开始设计与分析。画图了。。?br> 学无止境Q加油!Q?br> 09q的目标Q?br>http://www.shnenglu.com/expter/archive/2009/01/17/72223.html
]]> 新年卛_来(f)。?009q的计划?/title> http://www.shnenglu.com/expter/archive/2009/01/17/72223.htmlexpter expter Sat, 17 Jan 2009 14:31:00 GMT http://www.shnenglu.com/expter/archive/2009/01/17/72223.html http://www.shnenglu.com/expter/comments/72223.html http://www.shnenglu.com/expter/archive/2009/01/17/72223.html#Feedback 1 http://www.shnenglu.com/expter/comments/commentRss/72223.html http://www.shnenglu.com/expter/services/trackbacks/72223.html 伴随着新年的新好运Q新发展Q新气息Q?nbsp;2009q已l静(zhn)?zhn)的来临?br> 2008q有着不少的计划,但是没有都没有一一实现?br>1.因ؓ(f)“计划L赶不上变?#8221;Q有些事件被打断或者没完成q了?br>2.没有具体的计划与目标Q比如做什么东?做做׃做了Q?br>3.扑ַ作费了不时_(d)加上学校的事情,没多时间做具体的事件?br>4.打游戏打太多QW(xu)AR3打得太多Q虽说网怸大,但是打WAR3真三 q是累h。?br> 现在2009q的计划如下Q?br>1.首先工作有所成WQ?br> q公怸定要肯做Q努力,学好技术,多ȝQ不懂的量的靠自己慢慢解决. 2.对于C/C++代码量规范Q多看设计模式,量看架构方面的?br> 多看书,代码量规范Q熟(zhn)设计模式,学习(fn)ACE?br> 3.q_量专一Q但是还是要掌握linux~程Q熟l掌握TCP/IP 4.学习(fn)pQ?br> p对于IT人员是很重要的,多学?fn)与复?fn)pQ加强口语联pR有Z(x)q外企发展?br> 5.加强w体ȝ w体是革命的本钱Q^时要跑步Q打打篮球?br> 6.软?nbsp; 一斚w为工?br> 另一斚w是ؓ(f)自己大学知识做一ơ测评?br> 暂时p些了Q想得太多反而记不得。?br>下次记得了,有l添?br>
作ؓ(f)一名即迈入社?x)的E序员我也希望工作上有所成就?br>
]]> 哈佛(jng)图书馆自?fn)室墙上的训a http://www.shnenglu.com/expter/archive/2009/01/15/72121.htmlexpter expter Thu, 15 Jan 2009 13:17:00 GMT http://www.shnenglu.com/expter/archive/2009/01/15/72121.html http://www.shnenglu.com/expter/comments/72121.html http://www.shnenglu.com/expter/archive/2009/01/15/72121.html#Feedback 2 http://www.shnenglu.com/expter/comments/commentRss/72121.html http://www.shnenglu.com/expter/services/trackbacks/72121.html 2.我荒废的今日Q正是昨日殒w之人祈求的明日?br>3.觉得为时已晚的时候,恰恰是最早的时候?br>4.勿将今日之事拖到明日?br>5.学习(fn)时的苦痛是暂时的Q未学到的痛苦是l生的?br>6.学习(fn)qg事,不是~Z旉Q而是~Z努力?br>7.q福或许不排名次Q但成功必排名次?br>8.学习(fn)q不是h生的全部。但Q既然连人生的一部分——学?fn)也无法征服Q还能做什么呢Q?br>9.请n受无法回避的痛苦?br>10.只有比别人更早、更勤奋地努力,才能到成功的滋呟?br>11.谁也不能随随便便成功Q它来自d的自我管理和毅力?br>12.旉在流逝?br>13.现在淌的哈喇子,成为明天的眼泪?br>14.狗一样地学,l士一样地玩?br>15.今天不走Q明天要跑?br>16.投资未来的h是,忠于现实的h?br>17.教育E度代表收入?br>18.一天过完,不会(x)再来?br>19.即现在Q对手也不停地翻动书c?br>20.没有艰辛Q便无所莗?
]]> 一句经典话 http://www.shnenglu.com/expter/archive/2009/01/09/71577.htmlexpter expter Fri, 09 Jan 2009 04:06:00 GMT http://www.shnenglu.com/expter/archive/2009/01/09/71577.html http://www.shnenglu.com/expter/comments/71577.html http://www.shnenglu.com/expter/archive/2009/01/09/71577.html#Feedback 0 http://www.shnenglu.com/expter/comments/commentRss/71577.html http://www.shnenglu.com/expter/services/trackbacks/71577.html Q?#8220;他们来了你别傲慢Q他们走了你更不用灰心。支持你的h?x)永q的支持Q放弃你的h不可太过挽留Q只要你做好Q不断的完善自已Q该来的q是?x)来。一个好的游戏他们没有理׃?我们?x)一直陪着你走到成功的那一?像中国的崛h不退步?#8221; 不管做什么都得坚持不懈! 学无止尽QKnowledge is infiniteQ?/span>
]]> 转:(x)l新人程序员的八点徏?/title> http://www.shnenglu.com/expter/archive/2008/12/27/70524.htmlexpter expter Sat, 27 Dec 2008 11:10:00 GMT http://www.shnenglu.com/expter/archive/2008/12/27/70524.html http://www.shnenglu.com/expter/comments/70524.html http://www.shnenglu.com/expter/archive/2008/12/27/70524.html#Feedback 1 http://www.shnenglu.com/expter/comments/commentRss/70524.html http://www.shnenglu.com/expter/services/trackbacks/70524.html 走过弯\Q有q迷茫,回首?ji)年陈皓感慨万千?/span> “今天Q我对许多刚上\的朋友都?x)说Qh生的规则很重要,从上大学时就要好好规划?#8221;他结合自w经历,对许多刚t入E序员行列的ChE序员,他给Z以下八点Q?/strong>
1. 在大学的时候尽量多地进入公司参与实际工作,一斚wU篏工作l验Q另一斚wQ提前认识工作和自己Q以便毕业时更准地把握自己的方向?/span>
2. 从毕业开始到毕业后至?/span>5 q内Q踏t实实地专研技术,q是一个积累过E,千万不要把心思放在钱和职位上。钱和职位只是能力的附属品,不要让其喧宾Z?/span>
3. 从毕业后 3 q到 7 q的旉Q注意学?fn)工作当中的?gu)以及(qing)相关的管理和程Q不但要知其Ӟq要知其所以然?/span>
4. 30 岁以前,t踏实实地学?fn)。学技术,学做人,学做事?/span>30 岁以后再谈自q发展?/span>
5. 毕业后的?/span>5 q主要是量的U篏Q要不停地积累知识和Ҏ(gu)。毕业后?/span>5 ?/span>10 q主要是质变Q应该着重于思维和想法的更新。后五年应该有很强的包容能力和接受新东西的能力,千万不要太过固执和坚持自qx?/span>
6. 换工作要“承前启后”Q前面的工作?x)成为后面工作的一个基Q而后面的工作又会(x)成ؓ(f)前面工作的一个很自然的gl?/span>
7. 不要只把心思放在技术上Q技术是 hard skill Q只要下工夫׃定会(x)掌握。更要注意与人沟通等Zh处事?/span>soft skill 上?/span>hard skill 像一个大?wi)的根,?/span>soft skill 则像一个大?wi)的枝叶。树(wi)Ҏ(gu)你的根基Q能让你站得很稳Q而枝叶能让你向天IZ展,获得发展?/span>
8. 对于E序员来_(d)应该始终CQ技术不是主要的Q主要的是通过技术能够解决什么样的问题。一定经常想要解决什么的问题Q要满什么样的需求,而不是要用什么样的技术?/span>
]]> 毕业?--最q看的书 http://www.shnenglu.com/expter/archive/2008/12/22/70106.htmlexpter expter Mon, 22 Dec 2008 14:05:00 GMT http://www.shnenglu.com/expter/archive/2008/12/22/70106.html http://www.shnenglu.com/expter/comments/70106.html http://www.shnenglu.com/expter/archive/2008/12/22/70106.html#Feedback 1 http://www.shnenglu.com/expter/comments/commentRss/70106.html http://www.shnenglu.com/expter/services/trackbacks/70106.html 今天有去图书馆借了3本书Q准备回家过q看Q?br> q?本书?C++~程艺术 Q?exceptional c++ style , OOD启示?br> 都是传说的好书,但是对于每一个来说不一定是好书Q?先看完在说。?br> 其中Wesley的effective c++ ?nbsp; more effective c++ 的确不错Q加׃对c++的认识,以及(qing)OO的理解,目中应该注意的问题Q?br> 加a(b)咯,pq入C会(x)了!
]]> 心情沉重啊! http://www.shnenglu.com/expter/archive/2008/12/19/69868.htmlexpter expter Fri, 19 Dec 2008 13:33:00 GMT http://www.shnenglu.com/expter/archive/2008/12/19/69868.html http://www.shnenglu.com/expter/comments/69868.html http://www.shnenglu.com/expter/archive/2008/12/19/69868.html#Feedback 0 http://www.shnenglu.com/expter/comments/commentRss/69868.html http://www.shnenglu.com/expter/services/trackbacks/69868.html sohu被刷了。?br>哎! q是t实?好好学习(fn)吧! 现在的心情除了失落没有设么词形容?/p>
]]> 转:(x)郑州招聘?触目惊心囄背后I竟发生了什?/title> http://www.shnenglu.com/expter/archive/2008/12/08/68818.htmlexpter expter Mon, 08 Dec 2008 02:34:00 GMT http://www.shnenglu.com/expter/archive/2008/12/08/68818.html http://www.shnenglu.com/expter/comments/68818.html http://www.shnenglu.com/expter/archive/2008/12/08/68818.html#Feedback 6 http://www.shnenglu.com/expter/comments/commentRss/68818.html http://www.shnenglu.com/expter/services/trackbacks/68818.html 朋友发来一张图片,是大学生招聘的现场画面。看后竟无语以对。究竟发生了什么?看看通用、福牏V克莱斯勒在破边缘挣扎Q雷曼兄弟蘪然倒塌Q今天英国最大的零售q锁Woolworths一q没h收购Q宣布破产,q有更多的破产倒闭在l,中国中小企业上半q已有近7万家倒闭。同样华?dng)街的金融危机正q速演变成l济危机Q这个笼|在不少Z愿触?qing)的敏感话题面纱正快速被撕掉Q冬天刚刚开始?/p>
在复杂的国际形势和恶劣的l济环境下,独善其n的企业也不能侥幸。同样Q何行业都必须此金融v啸埋单,包括银行。前几天我在回答和讯|马上访谈的栏目记者采访时Q进一步提?#8220;家电(sh)下乡”大跃q的危机所在,然而大量网友的指责q不能解除家?sh)制造商怸的尴。一斚w来自渠道q锁的积怨已l爆发,另一斚w内需的刺Ȁ几乎q了实际,q有内外交困的市场环境在一步步Dq媄响到其它行业。毫无疑问,矛盾在上升,众多的不定性将?009q??5月发生,不仅仅是有更多的企业破产消逝,一pdC会(x)问题也将考验我们每一个h?/p>
q些囄说明什么?其背后究竟发生了什么?几乎每一个h都会(x)异口同声地想C炚w是׃形势的严峻,然而这只是其一Q真正的原因q有l济形势不容乐观Q企业竞争力在衰减,市场需求在减少Q通涨通羃的变化太快,中国教育的垢病凸显愈加清晰。等{。但我们是否问过自己Q究竟是谁导演了q一切?
]]> BLOGl于又开了。。?/title> http://www.shnenglu.com/expter/archive/2008/10/20/64513.htmlexpter expter Mon, 20 Oct 2008 10:45:00 GMT http://www.shnenglu.com/expter/archive/2008/10/20/64513.html http://www.shnenglu.com/expter/comments/64513.html http://www.shnenglu.com/expter/archive/2008/10/20/64513.html#Feedback 1 http://www.shnenglu.com/expter/comments/commentRss/64513.html http://www.shnenglu.com/expter/services/trackbacks/64513.html 在经历sohu不能~辑代码Qcsdn打开太慢?br>l于攑ּ?个BLOGQ来到CPPBLOG开了我的第3个学?fn)笔?br> Ƣ迎大家光(f)Q这里将要记录我的学?fn),面试Q工作,生活W记
]]>
ƷþӰԺ |
Ʒþþþù3d |
ŷɫ۾þþƷ |
ھƷþ鶹Ħ |
99þþƷһ |
AVɫۺϾþAVɫۺ |
ɫۺϾþĻ |
Ʒþþþþù |
þþƷƷƷ |
þþ뾫Ʒպ˳ |
ɫþþۺľþһ |
þþþ |
þþþһƷۺAV |
þ99ȺݺɫƷһ |
Ʒtvþþþþþ |
ѹ99þþ㽶 |
99þþƷһëƬ
|
þþþƷһ |
ҹþþþþ |
re99þþƷ99 |
99ŷþþþƷѿ
|
þۺϾɫۺ97_þþ |
þ99ֻƵƷ8 |
þùƷ99Ʒ |
þþþþAv뾫Ʒר |
þþƷרѶ |
þþþAV鶹 |
ƷҹþøƬ |
þþƷվ |
˾þþƷ99
|
ҹŷƷþþþþþ |
þþƷĻ鶹
|
þ¶Ʒ |
þþþAVվ
|
þþþþƷ66 |
þþ뾫Ʒպý
|
þۺ㽶AV |
ƷŮþþ |
ձþþҹƷ |
ƷþþþþóAV |
þþĻձ |