??xml version="1.0" encoding="utf-8" standalone="yes"?>久久亚洲国产成人影院,人人狠狠综合88综合久久,99久久精品无码一区二区毛片
http://www.shnenglu.com/zhgw01/zh-cn Thu, 08 May 2025 17:23:31 GMT Thu, 08 May 2025 17:23:31 GMT 60 腾讯面试中一道题 http://www.shnenglu.com/zhgw01/archive/2009/04/16/80180.htmlapacs apacs Thu, 16 Apr 2009 12:39:00 GMT http://www.shnenglu.com/zhgw01/archive/2009/04/16/80180.html http://www.shnenglu.com/zhgw01/comments/80180.html http://www.shnenglu.com/zhgw01/archive/2009/04/16/80180.html#Feedback 10 http://www.shnenglu.com/zhgw01/comments/commentRss/80180.html http://www.shnenglu.com/zhgw01/services/trackbacks/80180.html 题目Q?分钟内用户上U的数目?0万,如果用户?分钟内重复上U,q他发警告Q问如何设计Q?br> 考虑Q要判断用户是否?分内重复上线Q那么至要Q也只需要)保存距当前时?分钟内的d用户的信息(只要单的IDQ?br> 从这个开始出发,需要考虑的问题ؓ2个: 1.如何在迅速判断用h否在保存的数据中 Q这个理所当然想道用hashQ?br> 2. 如果把过期的数据删掉 Q这个就惛_l护一个时间链表,把到期的通过链表来删除)
q个是半q前腾讯面试的时候碰到的题目Q当时觉得很难,今天走在路上H然惌vQ想了想Q突然想到这U方法,也许不是最好,但至解决了Q也了解了一件事
]]>内存寚w,little endian 和big endian http://www.shnenglu.com/zhgw01/archive/2008/10/27/65219.htmlapacs apacs Mon, 27 Oct 2008 09:17:00 GMT http://www.shnenglu.com/zhgw01/archive/2008/10/27/65219.html http://www.shnenglu.com/zhgw01/comments/65219.html http://www.shnenglu.com/zhgw01/archive/2008/10/27/65219.html#Feedback 0 http://www.shnenglu.com/zhgw01/comments/commentRss/65219.html http://www.shnenglu.com/zhgw01/services/trackbacks/65219.html
class Test { public Q?br> short int a; int b; char c[ 5 ]; public : Test():b(0x 1234 ),a(b) { c[ 0 ] = ' h ' ; c[ 1 ] = ' e ' ; c[ 2 ] = ' l ' ; c[ 3 ] = ' l ' ; c[ 4 ] = ' o ' ; // 我是l对q里应该赋gؓ'\0' } }int main() { Test t; cout << a << endl; cout << b << endl; cout << sizeof (t) << endl; char * p = ( char * ) & t; cout <<* (p + 8 ) << endl; }
sizeof 那里考的是内存寚w的问题,short int 的变量必M??的开始,int必须从模4? 的开始,char必须从模1?的开始,而整个Test依照它的成员中最大的Q这里就是intQ也是Test的必M??的开始,而且它必d4的倍数?br>Z满int的条Ӟshort int后要填充QpaddingQ两个字节,Z满Test的条Ӟchar[5]后必d?个字节,所以d?+2+4+5+3=16个字?br>具体的内存对齐可以参考如?br>英文Q?a >http://www.chinaitpower.com/2005September/2005-09-13/206312.html 中文Q?a >http://blog.ednchina.com/jasony/92132/Message.aspx q样*(p+8)也就很容易了解了Q蟩q前?个字节,即short int ?个,填充?个,以及int?个,最后蟩Cc[0] little endian ?big endian 当一个变量占多个字节Ӟ如何排列q些字节׃生出了little endian和big endian的区?br>little endian: 把低字节攑֜内存的低?(The most significant byte is on the right end of a word) big endian: 把低字节攑֜内存的高?(The most significant byte is on the left end of a word) 举个例子Q?br> 假设从地址0x00000000开始的一个字中保存有数据0x1234abcd,那么在两U不同的内存序的机器上从字节的角度ȝ的话分别表示? 1)little endian:在内存中的存N序是0x00000000-0xcd,0x00000001-0xab,0x00000002-0x34,0x00000003-0x12 2)big endian:在内存中的存N序是0x00000000-0x12,0x00000001-0x34,0x00000002-0xab,0x00000003-0xcd 在构造函C的Test():b(0x1234),a(b)看v来有问题Q本来想q应该涉及到little endian和big endian的问题,不过在vs2005里调试了一下,发现׃a比b先声明,所以实际上时a先初始化Q也是a(b)q个语句先运行,׃q时候bq没初始化,a的值就是一个随机数Q相对于不同的运行来_Q接着b再初始化为正|但是q时候已l无法改变a的g
]]>static ?extern http://www.shnenglu.com/zhgw01/archive/2008/10/20/64498.htmlapacs apacs Mon, 20 Oct 2008 07:42:00 GMT http://www.shnenglu.com/zhgw01/archive/2008/10/20/64498.html http://www.shnenglu.com/zhgw01/comments/64498.html http://www.shnenglu.com/zhgw01/archive/2008/10/20/64498.html#Feedback 0 http://www.shnenglu.com/zhgw01/comments/commentRss/64498.html http://www.shnenglu.com/zhgw01/services/trackbacks/64498.html static的作用有2个,一个是控制名字的可见性,一个是控制生存?br> 1.控制名字的可见?br>q时候是跟extern相对应的Q作用与文g作用域(file scope)内的所有名字(变量名或函数名)Q其它定义在函数内或cd的变量名或函数名都不h文g作用域?br>一般情况下Q当你定义了一个全局范围内变量或函数名的时候,默认的是externQ如在下面的file1.cpp
// file1.cpp int a = 1 ; //完整的应该是extern int a=1;但extern是缺省的 void f() //同上一Pq里也是定义 { }
那么在file2.cpp中你不能再声明a跟fQ否则会引v名字冲突Q当你想要用file1.cpp中的a跟fӞ可以如下
extern int a; // 不运行赋|q里只是声明,不可以省去externQ否则编译器会认为是重定?/span>void f(); // 同样是声明,而且对函数而言Q可以省去extern extern int bQ?Q?/q里是定?/span>
q样可以在file2.cpp中用a跟f?br> 反过来,你在文g作用域范围内定义了一个名字,你不希望被其它文件引用,q时候就要在前面加上staticQ此时这个变量具有internal linkageQ它不能被其它文件引用,同时在其它文件中声明同名变量不会认ؓ有冲H(因ؓstatic 使得名字只在本文件内可见Q?br> 2.控制生存?br> static 变量同global 变量一P攑֜static存储区,只有当程序运行结束时Q这些变量才会消?br> 当static变量定义在函CӞ它仅在该函数内可见,当每ơ函数调用完Q这个变量的值都会保留下?br> 当static变量定义在类当中Ӟq个变量同cȝ对象无关Q真个类只有一个该变量的副本,不过它定义了多少个对象,而且Ҏ变量的改变可以只通过cL改变Q该变量的变化对所有同cȝ对象是可见的
]]> Handle Class ?Interface Class http://www.shnenglu.com/zhgw01/archive/2008/10/20/64493.htmlapacs apacs Mon, 20 Oct 2008 07:02:00 GMT http://www.shnenglu.com/zhgw01/archive/2008/10/20/64493.html http://www.shnenglu.com/zhgw01/comments/64493.html http://www.shnenglu.com/zhgw01/archive/2008/10/20/64493.html#Feedback 0 http://www.shnenglu.com/zhgw01/comments/commentRss/64493.html http://www.shnenglu.com/zhgw01/services/trackbacks/64493.html 1.~译依存
#include " file1.h " #include" file2.h " class class_name { member1 m_m1; member2 m_m2; public : member1 get_member_1() const {} ; member2 get_member_2() const {} ; } ;
假设上面的头文g为file.hQ当file1.h或者file2.h发生变化Q或者file中的class_name的实现发生变化时Q所有包含file.h的文仉得重新编译,当file.h被很多文件包含时Q即使只是对class_name做了小的改动,也要p大量的编译时间?br> 2. Handle class Q句柄类Q?br>handle classs 只是提高了所有的接口Q同时包含了一个指向真正实现类的指针。真正的实现cd含在另外一个文件中Q当要修改这个类Ӟ只有file.h会引起重~译Q而包含file.h的其它文件不会引起重~译
#include " file1.h " //contain member1 #include" file2.h" //contain member2 #include"implement.h" class class_name { class_impl * implement; // 一般会用shared pointer public : member1 get_member_1() const { return implement -> get_member_1(); } member2 get_member_2() const { return implement -> get_member_2(); } };
下面的是implement.h的实?br>
class class_impl { member1 m_1; member2 m_2; public ; member1 get_member_1() const {} member2 get_member_2()const {} };
2.Interface class q是制作handle class的另外一U方?br>首先声明的class是抽象类Q一般里面的接口都是U虚函数Q就像Java的Interface 然后提高一个static的create函数Q就是工厂方法)Q这个函数返回改抽象cȝ某个具体子类的对象,函数声明中的q回g然是该抽象类的指针或引用?br> 具体子类在另外一个文件中声明?br>
]]>C++的重载与虚函?/title> http://www.shnenglu.com/zhgw01/archive/2008/10/17/64239.htmlapacs apacs Fri, 17 Oct 2008 06:45:00 GMT http://www.shnenglu.com/zhgw01/archive/2008/10/17/64239.html http://www.shnenglu.com/zhgw01/comments/64239.html http://www.shnenglu.com/zhgw01/archive/2008/10/17/64239.html#Feedback 1 http://www.shnenglu.com/zhgw01/comments/commentRss/64239.html http://www.shnenglu.com/zhgw01/services/trackbacks/64239.html 阅读全文 ]]> ADL兌名字查找 http://www.shnenglu.com/zhgw01/archive/2008/10/07/63425.htmlapacs apacs Tue, 07 Oct 2008 12:29:00 GMT http://www.shnenglu.com/zhgw01/archive/2008/10/07/63425.html http://www.shnenglu.com/zhgw01/comments/63425.html http://www.shnenglu.com/zhgw01/archive/2008/10/07/63425.html#Feedback 0 http://www.shnenglu.com/zhgw01/comments/commentRss/63425.html http://www.shnenglu.com/zhgw01/services/trackbacks/63425.html 如果l定一个函数名Q那么c++~译器如何去查找q个函数呢? 1.普通的名字查找 对变量的调用Q一般是按scope的大来?br>
#include < iostream > #include< string > using namespace std; namespace NS { string x = " namespace NS " ; } string x = " global scope " ; class A { string x; public : A():x( " class scope " ) {} ; void f() { string x = " local scope " ; cout << x << endl; } void g() { cout << x << endl; } }; class B { public : void f() { cout << x << endl; } void g() { cout << NS::x << endl; } }; int main() { A a; B b; a.f();a.g(); b.f();b.g(); }
首先调用local scope?
接着调用class scope?
最后才调用global scope?
如果直接有用限定W,则调用限定符的,无论是namespace 限定W还是class限定W?
函数名字的查找,除了local scope的,基本同上Q有一点例外的是,则在下面ADL中说?br> 2.兌名字查找 (Argument Dependent Lookup) 在说明前要明?个概?br>
兌(dependent name)Q不能解析的名字叫兌名,q个一般同模版有关Q比如template<class T> A{T t;}; 中,t是兌名,它在模版~译的第一阶段是无法解析的Q只有到W二阶段Q用实际参数来实例化的时候才知道
限定?qualified name): 指变量名或函数名前有cd前缀Q或者被对象Q指针修饎ͼ Class::f() //cd前缀 x.f() //对象修饰 p->f() //指针修饰
而ADL要解决的问题是对非限定名的查N题(限定名可以根据相应的限定来查找)Q?当出CҎ个非限定函数的调用,而该非限定函数却没有在一个(标准Q作用域内进行声明时Q简单的Ԍ该函数只声明在某个namespaceQ而你又没有引入这个namespace)Q编译器׃L它的每一个参数的名字I间来进行匹配。ADL是ؓ了简化函数调用,不过事实上它有点破坏了namespace的封装?br>比如以下函数调用 std::string s("hello"); std::cout<<s<<std::endl; E序中没有指定用哪一个operator<<函数Q程序员当然不想输入 std::operator<<(std::operator(std::cout,s),std::endl); q时QADLҎs查找s的namespace,q查扄应的operator<<
]]> 悲惨Q被微Ybs了一轮就回来 http://www.shnenglu.com/zhgw01/archive/2008/09/23/62577.htmlapacs apacs Tue, 23 Sep 2008 06:04:00 GMT http://www.shnenglu.com/zhgw01/archive/2008/09/23/62577.html http://www.shnenglu.com/zhgw01/comments/62577.html http://www.shnenglu.com/zhgw01/archive/2008/09/23/62577.html#Feedback 0 http://www.shnenglu.com/zhgw01/comments/commentRss/62577.html http://www.shnenglu.com/zhgw01/services/trackbacks/62577.html W二题,写代码判断回?br>W三题,写测试案例,是在输入框输入字符Ԍ然后下面回显q个字符?br>W四题,写时针跟分针所夹的角度Q好几年没带表了Q竟然以为只要是8点,旉永q指?。太蠢了Q因q道题直接出局Q到大厅的时候立LC解法Q?hour*5+minute/60*5)-minute如果是负的,反一下负P最后乘?60/60=6
]]> extern "C" http://www.shnenglu.com/zhgw01/archive/2008/06/19/54031.htmlapacs apacs Thu, 19 Jun 2008 08:57:00 GMT http://www.shnenglu.com/zhgw01/archive/2008/06/19/54031.html http://www.shnenglu.com/zhgw01/comments/54031.html http://www.shnenglu.com/zhgw01/archive/2008/06/19/54031.html#Feedback 0 http://www.shnenglu.com/zhgw01/comments/commentRss/54031.html http://www.shnenglu.com/zhgw01/services/trackbacks/54031.html 是cQ+׃支持函数重蝲Q生成的函数名与c生成的不一栗?br> Z能让c调用cQ+函数Q就要用extern "c" {}使得cQ+按c那样生成函数?
]]> const 探究Q{Q?/title> http://www.shnenglu.com/zhgw01/archive/2008/06/19/54030.htmlapacs apacs Thu, 19 Jun 2008 08:55:00 GMT http://www.shnenglu.com/zhgw01/archive/2008/06/19/54030.html http://www.shnenglu.com/zhgw01/comments/54030.html http://www.shnenglu.com/zhgw01/archive/2008/06/19/54030.html#Feedback 0 http://www.shnenglu.com/zhgw01/comments/commentRss/54030.html http://www.shnenglu.com/zhgw01/services/trackbacks/54030.html 优点Qconst帔R有数据类型,而宏帔R没有数据cd。编译器可以对前者进行类型安全检查,而对后者只q行字符替换Q没有类型安全检查,q且在字W替换时可能会生意料不到的错误Q边际效应) 2. const 修饰cȝ数据成员。如Q?br>class A { const int size; … } const数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的。因为类可以创徏多个对象Q不同的对象其const数据成员的值可以不同。所以不能在cd明中初始化const数据成员Q因为类的对象未被创建时Q编译器不知道const 数据成员的值是什么。如 class A { const int size = 100; //错误 int array[size]; //错误Q未知的size } const数据成员的初始化只能在类的构造函数的初始化表中进行。要惛_立在整个cM都恒定的帔RQ应该用cM的枚丑ָ量来实现。如 class A {… enum {size1=100, size2 = 200 }; int array1[size1]; int array2[size2]; } 枚D帔R不会占用对象的存储空_他们在编译时被全部求倹{但是枚丑ָ量的隐含数据cd是整敎ͼ其最大值有限,且不能表CQҎ?br> 3. const修饰指针的情况,见下式: int b = 500; const int* a = & [1] int const *a = & [2] int* const a = & [3] const int* const a = & [4] 如果你能区分Zq四U情况,那么Q恭喜你Q你已经q出了可喜的一步。不知道Q也没关p,我们可以参考《Effective c++》Item21上的做法Q如果const位于星号的左侧,则const是用来修饰指针所指向的变量,x针指向ؓ帔RQ如果const位于星号的右侧,const是修饰指针本nQ即指针本n是常量。因此,[1]和[2]的情늛同,都是指针所指向的内容ؓ帔RQconst攑֜变量声明W的位置无关Q,q种情况下不允许对内容进行更Ҏ作,如不?a = 3 Q[3]为指针本w是帔RQ而指针所指向的内容不是常量,q种情况下不能对指针本nq行更改操作Q如a++是错误的Q[4]为指针本w和指向的内容均为常量? 4. const的初始化 先看一下const变量初始化的情况 1) 非指针const帔R初始化的情况QA b; const A a = b; 2) 指针const帔R初始化的情况Q?br> A* d = new A(); const A* c = d; 或者:const A* c = new A(); 3Q引用const帔R初始化的情况Q? A f; const A& e = f; // q样作e只能讉K声明为const的函敎ͼ而不能访问一 般的成员函数Q? [思?]Q?以下的这U赋值方法正吗Q? const A* c=new A(); A* e = c; [思?]Q?以下的这U赋值方法正吗Q? A* const c = new A(); A* b = c; 5. 另外const 的一些强大的功能在于它在函数声明中的应用。在一个函数声明中Qconst 可以修饰函数的返回|或某个参敎ͼ对于成员函数Q还可以修饰是整个函数。有如下几种情况Q以下会逐渐的说明用法:A& operator=(const A& a); void fun0(const A* a ); void fun1( ) const; // fun1( ) 为类成员函数 const A fun2( ); 1Q?修饰参数的constQ如 void fun0(const A* a ); void fun1(const A& a); 调用函数的时候,用相应的变量初始化const帔RQ则在函C中,按照const所修饰的部分进行常量化Q如形参为const A* aQ则不能对传递进来的指针的内容进行改变,保护了原指针所指向的内容;如Ş参ؓconst A& aQ则不能对传递进来的引用对象q行改变Q保护了原对象的属性? [注意]Q参数const通常用于参数为指针或引用的情况,且只能修饰输入参?若输入参数采?#8220;g?#8221;方式Q由于函数将自动产生临时变量用于复制该参敎ͼ该参数本׃需要保护,所以不用const修饰?br> [ȝ]对于非内部数据类型的输入参数Q因该将“g?#8221;的方式改?#8220;const引用传?#8221;Q目的是Z提高效率。例如,void Func(A a)改ؓvoid Func(const A &a) 对于内部数据cd的输入参敎ͼ不要?#8220;g?#8221;的方式改?#8220;const引用传?#8221;。否则既达不到提高效率的目的Q又降低了函数的可理解性。例如void Func(int x)不应该改为void Func(const int &x) 2Q?修饰q回值的constQ如const A fun2( ); const A* fun3( ); q样声明了返回值后Qconst按照"修饰原则"q行修饰Qv到相应的保护作用。const Rational operator*(const Rational& lhs, const Rational& rhs) { return Rational(lhs.numerator() * rhs.numerator(), lhs.denominator() * rhs.denominator()); } q回值用const修饰可以防止允许q样的操作发?Rational a,b; Radional c; (a*B) = c; 一般用const修饰q回gؓ对象本nQ非引用和指针)的情况多用于二目操作W重载函数ƈ产生新对象的时候? [ȝ] 1. 一般情况下Q函数的q回gؓ某个对象Ӟ如果其声明为constӞ多用于操作符的重载。通常Q不用const修饰函数的返回值类型ؓ某个对象或对某个对象引用的情c原因如下:如果q回gؓ某个对象为constQconst A test = A 实例Q或某个对象的引用ؓconstQconst A& test = A实例Q?Q则q回值具有const属性,则返回实例只能访问类A中的公有Q保护)数据成员和const成员函数Qƈ且不允许对其q行赋值操作,q在一般情况下很少用到? 2. 如果l采?#8220;指针传?#8221;方式的函数返回值加const修饰Q那么函数返回|x针)的内容不能被修改Q该q回值只能被赋给加const 修饰的同cd指针。如Q?br> const char * GetString(void); 如下语句出现编译错误: char *str=GetString(); 正确的用法是Q?br> const char *str=GetString(); 3. 函数q回值采?#8220;引用传?#8221;的场合不多,q种方式一般只出现在类的赙值函CQ目的是Z实现铑ּ表达。如Q?br> class A {… A &operate = (const A &other); //赋值函?br> } A a,b,c; //a,b,c为A的对?br> … a=b=c; //正常 (a=B)=c; //不正常,但是合法 若负值函数的q回值加const修饰Q那么该q回值的内容不允怿改,上例中a=b=c依然正确?a=B)=c׃正确了?br>[思?]Q?q样定义赋值操作符重蝲函数可以吗? const A& operator=(const A& a); 6. cL员函Cconst的? 一般放在函C后,形如Qvoid fun() const; M不会修改数据成员的函数都因该声明为constcd。如果在~写const成员函数Ӟ不慎修改了数据成员,或者调用了其他非const成员函数Q编译器报错,q大大提高了E序的健壮性。如Q?br> class Stack { public: void Push(int elem); int Pop(void); int GetCount(void) const; //const 成员函数 private: int m_num; int m_data[100]; }; int Stack::GetCount(void) const { ++m_num; //~译错误Q企图修Ҏ据成员m_num Pop(); //~译错误Q企图调用非const函数 Return m_num; } 7. 使用const的一些徏? 1 要大胆的使用constQ这给你带来无的益处Q但前提是你必须搞清楚原委; 2 要避免最一般的赋值操作错误,如将const变量赋|具体可见思考题Q? 3 在参C使用const应该使用引用或指针,而不是一般的对象实例Q原因同上; 4 const在成员函C的三U用法(参数、返回倹{函敎ͼ要很好的使用Q? 5 不要L的将函数的返回值类型定为const; 6除了重蝲操作W外一般不要将q回值类型定为对某个对象的const引用; [思考题{案] 1 q种Ҏ不正,因ؓ声明指针的目的是Z对其指向的内容进行改变,而声明的指针e指向的是一个常量,所以不正确Q? 2 q种Ҏ正确Q因为声明指针所指向的内容可变; 3 q种做法不正; 在const A::operator=(const A& a)中,参数列表中的const的用法正,而当q样q箋赋值的时侯Q问题就出现了: A a,b,c: (a=B)=c; 因ؓa.operator=(B)的返回值是对a的const引用Q不能再c赋值给const帔R?br>
]]> 括号数和catalan?/title> http://www.shnenglu.com/zhgw01/archive/2008/06/05/52306.htmlapacs apacs Thu, 05 Jun 2008 15:03:00 GMT http://www.shnenglu.com/zhgw01/archive/2008/06/05/52306.html http://www.shnenglu.com/zhgw01/comments/52306.html http://www.shnenglu.com/zhgw01/archive/2008/06/05/52306.html#Feedback 0 http://www.shnenglu.com/zhgw01/comments/commentRss/52306.html http://www.shnenglu.com/zhgw01/services/trackbacks/52306.html n=4的例子如?br> 假设q个数是h(n-1), Q这里之所以是n-1Q是因ؓ实际上n指的是元素个敎ͼ?个元素乘一ơ,只要n-1ơ就可以乘完) 那么昄h(n-1)=h(0)h(n-2)+h(1)h(n-3)+...+h(n-2)h(0) 对应的例子则?br>a(b(cd)) a((bc)d) h(0)h(n-2) (只要先对双的n-2个元素进行乘U,接着再跟最左边的元素相乘,h(0)=1Q?br>(ab)(cd) h(1)h(n-3) (先乘最左边?个元素,再乘最双的n-3个元素,之后再把q?个元素相乘) (a(bc))d ((ab)c)d h(n-2)h(0) 从括号化展开的应?br>1. q出?br> Ҏ可行进出栈的模拟,左括号代表进栈,x号代表进行出栈,那么q出栈的序q当于括号化的Ҏ 2.三角剖分 三角剖分是从距阵乘法类比过来的Q而距阵乘法就是括号化的问?br>
]]>
7777þþùƷ |
˾þþƷ |
99þó18վ |
ŷƷþþ |
þþùҺ |
þþùƵ |
þþƷ2020 |
þþþþaëƬ |
ۺŮþþ30p |
պһþ |
þþþþþþƷŮ99 |
ڸþþþþ |
þۺ97ɫ |
ƷŮþ777777 |
þþƷAV뽿ɫ |
97þþƷһ
|
պŮ18վþþƷ |
þþƷֻоƷ66 |
һõþۺϺݺAV |
þþƷа |
MM131Ůþ |
˶ݺɫۺϾþ |
þùƷ |
þ99Ʒþþôѧ |
þþƷ91þۺ鶹 |
ŷ777Ʒþþþ |
ۺϾþþƷɫ |
þþƷ99þ㽶ɫ
|
99þþƷѾƷ
|
þþƷavӰԺ |
þþƷ |
˳վþ99ȹ
|
þˬˬƬAV鶹 |
þĻƷ |
þù鶹91 |
þþþþƵ |
999Ʒþþþþ |
˾þۺϳ |
ƷۺϾþõһҳ |
պƷþþþþ |
˾Ʒ91þþ |