??xml version="1.0" encoding="utf-8" standalone="yes"?>久久天天躁夜夜躁狠狠躁2022,色婷婷久久综合中文久久蜜桃av,久久精品国产亚洲精品2020http://www.shnenglu.com/Cunch/不惜奋斗zh-cnTue, 06 May 2025 20:12:34 GMTTue, 06 May 2025 20:12:34 GMT60Qt反射http://www.shnenglu.com/Cunch/archive/2013/07/13/201779.htmlCunchCunchSat, 13 Jul 2013 14:19:00 GMThttp://www.shnenglu.com/Cunch/archive/2013/07/13/201779.htmlhttp://www.shnenglu.com/Cunch/comments/201779.htmlhttp://www.shnenglu.com/Cunch/archive/2013/07/13/201779.html#Feedback1http://www.shnenglu.com/Cunch/comments/commentRss/201779.htmlhttp://www.shnenglu.com/Cunch/services/trackbacks/201779.html?/strong>

本文主要讲解Qt是如何实现反,以及一点点反射使用的小心得?/p>

文章概览

Qt反射内幕窥

详细内容

反射前期准备

得到注册的类成员变量

得到注册的类成员函数

讉KcL员属性(get,setQ?/p>

调用注册的函?/p>

反射应用

ȝ

Qt反射内幕窥

Qt反射机制是基于moc(meta object compiler)实现?在这里多插一句(可以说Qt所有C++没有的特性,几乎都和q个有关p)。但是需要注意的是Qt提供的反式基本的反,不支持类的反,q个与JavaQC#q是有差别的?/p>

moc讲解

通常C++的编译过Eؓ

预处?>~译->链接->q行

Qt~译的过E中Q有一个moc的过E?在Qt工程构徏q程中的qmake其实是q这个事的。moc->预处?>~译->链接->q行?/p>

在mocq程中,需要处理的事情如下Q?/p>

1?识别一些特D的宏Q_OBJECT、Q_PROPERTY、Q_INVOKABLE。。? 如果到q些关键字,Qt自然׃ȝ成对应的moc文g?/p>

2?slotQsignal自然也是如此?/p>

3?uidesignerQ同样也是在q个阶段处理?

详细内容

 

反射前期准备

1?首先得承于Q_Object,同时需要在class中加入Q_OBJECTQ但是Q_Object的构造函数默认是U有的不让ѝ?

在类中直接用Q_GADGET也可以实现反,。。。据说只能实现部分功能,目前我只实现到能遍历成员属性,函数Q但是不能访问其中的倹{?

q个q程其实是定义QMetaObject的过E,具体见Qt源码

2?注册cL员变量需要用Q_PROPERTY

Q_PROPERTY( type member READ get WRITE set) 其中READ,WRITE是关键字

Type表示成员的类型(不支持自定义cdQ对Qt很多基本cd都支持);

Member代表你给该成员另外v的名字,可以和变量名不同QgetQset是自己在C++函数里面定义的基本的讉K函数名,不需要写参数。直接上代码Q?

3?注册cL员函?

如果你希望这个函数能够被反射Q那么很单,只需要在cȝ函数声明前加入Q_INVOKABLE关键字?

例如Q_INVOKABLE int func( QString flag );

   #include <QObject>
   class MyClass : public QObject
   {
    Q_OBJECT
    Q_PROPERTY(int Member1 READ Member1 WRITE setMember1 )
    Q_PROPERTY(int Member2 READ Member2 WRITE setMember2 )
    Q_PROPERTY(QString MEMBER3 READ Member3 WRITE setMember3 )
   public:
    explicit MyClass(QObject *parent = 0);
   signals:
   public slots:
   public:
    Q_INVOKABLE int Member1();
    Q_INVOKABLE int Member2();
    Q_INVOKABLE QString Member3();
    Q_INVOKABLE void setMember1( int mem1 );
    Q_INVOKABLE void setMember2( int mem2 );
    Q_INVOKABLE void setMember3( const QString& mem3 );
    Q_INVOKABLE int func( QString flag );
   private:
    int m_member1;
    int m_member2;
    QString m_member3;
   };

得到注册的类成员变量

  MyClass theObj;
 const QMetaObject* metaObj = theObj.metaObject();
 //1.遍历cȝ属?/span>
 int propertyCnt = metaObj->propertyCount();
 for ( int i = 0; i < propertyCnt; ++ i )
 {
 QMetaProperty oneProperty = metaObj->property( i );
 cout << " name: " << oneProperty.name();
 cout << " type: " << QVariant::typeToName( oneProperty.type()) << "\n";
  }

主要思\是得到其元对象Q得到其元属性,然后p得到你需要的信息Q具体的讉K函数有name,type,需要注意的是得到的type是枚丑ր|q在Qt提供了typeToName的函敎ͼ你可以得到想要的Q例如不是空z的2Q而是”int”Q?/p>

得到注册的类成员函数

//2.遍历cȝ函数成员
 int methodCnt = metaObj->methodCount();
 for ( int idx = 0; idx < methodCnt; ++ idx )
 {
 QMetaMethod oneMethod = metaObj->method( idx );
 cout << "--------begin-------" << "\n";
 cout << " typeName: " << oneMethod.typeName() << "\n";
 cout << " signature: " << oneMethod.signature() << "\n";
 cout << " methodType: " << oneMethod.methodType() << "\n";
 cout << "--------end---------" << "\n";
  }

和遍历类属性一_其实是Ҏ元对象,得到元函?

其中typeName代表q回cdQsignature只的是函数的原貌QmethodType代表函数的类型,在Qt中分Zc(槽,信号Q普通函敎ͼ?/p>

讉KcL员属性(get,setQ?/strong>

//3.使用反射
 cout << "-------test property-----------" << "\n";
 MyClass newObj;
 newObj.setProperty("Member1", 66);
 cout << newObj.property( "Member1" ).toString().toStdString() << "\n";
 cout << newObj.Member1() << "\n";
 cout << "--------end----------" << "\n";

在这里用的是QObject的property() 和setPropertyҎQ来讉K成员信息。但是对于用Q_GADGET宏的c,是不能用这个方法的Q还在寻找解x法,基本思\当然是重写?/p>

调用注册的函?/strong>

  int ret;
  MyClass newObj;
 newObj.setMember1( 20 );
 newObj.setMember2( 50 );
 QMetaObject::invokeMethod( &newObj, "func", Qt::DirectConnection,
 Q_RETURN_ARG(int, ret ),
 Q_ARG(QString, "+"));

//普通函数的调用

在MyClass中,我们定义了int func( QString flag );q个函数Q利用反的调用方式如上Q主要是理解invokeMethod的用法,其中Qt::DirectConnection是函数的执行方式Q分为(异步和同步)QQ_RETURN_ARG是返回参敎ͼQ_ARG是传入参敎ͼ需要按函数声明中参数的序依次传入QQt最多支?个参敎ͼ对于一般的应用没有问题。还有疑问,L步具见Qt强大的帮助文档?/p>

反射的应?/strong>

反射反射Q就我目前的认知水^来看Q通过使用字符Ԍ来实现函数的通用化调用,例如你可以利用反把很多函数攄到数l中Q实Cơ遍历,全部调用?/p>

目前我见到的大多是利用反来操作数据库,例如hibernateQ其实可以利用Qt的反,快速实现所谓的hibernate,(最q自q立实C一套,很方??/p>

ȝ

q篇文章主要讲了如何使用Qt来实现反,在实用角度上来讲Q我们不需要了解Qt是怎么实现反射的,对于怎么用上面说的很清楚了。大家有什么的新的xQ希望能提出来,来电请咨?br /> <levard@gmail.com>



Cunch 2013-07-13 22:19 发表评论
]]>
[面试?]如何实现不能被承的C++的类Q且能正怋?/title><link>http://www.shnenglu.com/Cunch/archive/2013/06/15/201015.html</link><dc:creator>Cunch</dc:creator><author>Cunch</author><pubDate>Fri, 14 Jun 2013 16:18:00 GMT</pubDate><guid>http://www.shnenglu.com/Cunch/archive/2013/06/15/201015.html</guid><wfw:comment>http://www.shnenglu.com/Cunch/comments/201015.html</wfw:comment><comments>http://www.shnenglu.com/Cunch/archive/2013/06/15/201015.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.shnenglu.com/Cunch/comments/commentRss/201015.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Cunch/services/trackbacks/201015.html</trackback:ping><description><![CDATA[<p> </p> <p>貌似好久没有自己写过blog了,对于自己q样一个健忘的人,文采又这么差的h来说Q正好借这个机会锻g下自q文字能力Q同时记录下学过的东ѝ?/p> <p>貌似用过C++也好久了Q碰到这个问题,开始确实感觉到无力Q最后还是搜索了下别人是怎么做的。据说是Adobe 07q的面试题?/p> <p> </p> <p>1、第一x大家都是Q既然不能被l承Q也是一旦承这个类之后Q类׃能被初始化?/p> <p>2、可能把cȝ构造函数私有化Q和单例有点像,但是q样cd不能正常使用了?/p> <p>3、实在无力,查了下,他们是通过使用虚承解册个问题的?/p> <p>对于虚承,具体资料见:<a >http://blog.163.com/xiangzaihui@126/blog/static/166955749201182294317243/</a></p> <p>里面有一句话很重要:<font color="#ff0000">C++规定:把真正创建对象时所指定的类UCؓ是最zc?虚基cd对象是由最zcȝ构造函数通过调用虚基cȝ构造函数进行初始化?</font></p> <p><font color="#ff0000"></font> </p> <p>具体实现代码如下Q?/p> <div class="jfjhp3f" id="codeSnippetWrapper"> <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1"> 1:</span> <span style="color: #cc6633">#include</span> <cstdio></pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2"> 2:</span> <span style="color: #cc6633">#include</span> <iostream></pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3"> 3:</span>  </pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum4"> 4:</span> <span style="color: #0000ff">template</span><<span style="color: #0000ff">class</span> T> <span style="color: #0000ff">class</span> CFinal{</pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum5"> 5:</span> <span style="color: #0000ff">friend</span> T;</pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum6"> 6:</span> <span style="color: #0000ff">private</span>:</pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum7"> 7:</span> CFinal(){ std::cout << <span style="color: #006080">"CFinal()"</span> << std::endl; }</pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum8"> 8:</span> ~CFinal(){} </pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum9"> 9:</span> };</pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum10"> 10:</span>  </pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum11"> 11:</span> <span style="color: #0000ff">class</span> CFoo : <span style="color: #0000ff">virtual</span> <span style="color: #0000ff">public</span> CFinal<CFoo>{</pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum12"> 12:</span> <span style="color: #0000ff">public</span>:</pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum13"> 13:</span> CFoo(){ std::cout << <span style="color: #006080">"CFoo()"</span> << std::endl; }</pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum14"> 14:</span> ~CFoo(){}</pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum15"> 15:</span> };</pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum16"> 16:</span>  </pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum17"> 17:</span> <span style="color: #0000ff">class</span> CBar : <span style="color: #0000ff">public</span> CFoo{</pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum18"> 18:</span> <span style="color: #0000ff">public</span>:</pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum19"> 19:</span> CBar() { std::cout << <span style="color: #006080">"CBar"</span> << std::endl; }</pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum20"> 20:</span> };</pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum21"> 21:</span>  </pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum22"> 22:</span> <span style="color: #0000ff">int</span> main()</pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum23"> 23:</span> {</pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum24"> 24:</span> <span style="color: #008000">//CBar bar;</span></pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum25"> 25:</span> CFoo foo;</pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum26"> 26:</span> <span style="color: #0000ff">while</span>(1){}</pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum27"> 27:</span> <span style="color: #0000ff">return</span> 0;</pre><!--CRLF--><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum28"> 28:</span> }</pre><!--CRLF--></div></div> <p>当你创徏CBarӞ需要初始化CFinalQ但是你不是他的friendQ不能初始化Q上面标U)</p> <p>如果你会问不要virtual行不行?<br />    不行Q由于不要virtualQ你可以l过CFoo的friend讉K到CFinalQ但是有virtual׃同了Q你必须直接初始化CFinalQ这是C++的规定,避免多次初始化)</p> <p> </p> <p>但是有个问题Qgcc不能~译通过Q在friend T出错Qvs2010没有问题Q希望知道的能给点帮助?/p> <p> </p> <p>参考文献:</p> <p><a >http://blog.163.com/xiangzaihui@126/blog/static/166955749201182295845689/</a>QC++实现不能被承的c)</p><img src ="http://www.shnenglu.com/Cunch/aggbug/201015.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/Cunch/" target="_blank">Cunch</a> 2013-06-15 00:18 <a href="http://www.shnenglu.com/Cunch/archive/2013/06/15/201015.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>十个奇葩|站http://www.shnenglu.com/Cunch/archive/2013/02/26/198091.htmlCunchCunchTue, 26 Feb 2013 11:46:00 GMThttp://www.shnenglu.com/Cunch/archive/2013/02/26/198091.htmlhttp://www.shnenglu.com/Cunch/comments/198091.htmlhttp://www.shnenglu.com/Cunch/archive/2013/02/26/198091.html#Feedback0http://www.shnenglu.com/Cunch/comments/commentRss/198091.htmlhttp://www.shnenglu.com/Cunch/services/trackbacks/198091.html1、零可售 

http://www.linksold.com/ 

链接出售Q将自己掌握的资源{化成收入Q譬如你有一份创意作品想卖,譬如你有困难需要帮助,或者你有某个创业但没有资金需要募集资金实现梦想等都可以在q个q_上实?nbsp;

2、这是范?nbsp;
http://www.itsfan.com 
-女h一定要有范 
传播Ƨ美街拍、明星街拍、麻豆街拍、男士街拍、杂志大片美图。~~爱欧范儿的不可错过?nbsp;


3、稀饭吗 

http://www.xifanma.com/ 

_N明星照片,以脓墙式展示Q视觉效果非怸?nbsp;

4、邻居的x 

http://kxt.fm/ 

在线听好歌,看美的文字Q喜Ƣ音乐的童鞋可以加下Q?nbsp;

5、果壳网 

http://www.guokr.com/ 

果壳是我见过很少的坚持以U学Q以事实为基的网站,虽然有时满篇的科学字 

D人很郁闷Q但是,比v满眼重复杂ؕ内容的网站,果壳Q是特别?nbsp;

6、几分钟 

http://www.jifenzhong.com/ 

几分钟可以做什么?汇集大量优质视频Q连“被蚊子咬了如何快速止?#8221;都有~ 

很强大! 

7、下厨房 

http://www.xiachufang.com/ 

其实我很做菜,但是能把食|站做的q么漂亮和有序,让h不得不收?nbsp;

8、TED中文C֌ 

TED是社会各界精׃的盛会Q它鼓励各种创新思想的展C、碰撞?nbsp;

http://tedtochina.com/ 

9、一L一?nbsp;

http://www.sketchswap.com/ 

提交自己的涂鸦换另一副画Q看着W画的v落,小的惊?nbsp;

10、每日一?nbsp;

http://meiriyiwen.com/ 

每天?分钟看一文章,感受阅读的快乐,为简单生zL丝精?nbsp;


Cunch 2013-02-26 19:46 发表评论
]]>
法相关的网址http://www.shnenglu.com/Cunch/archive/2013/01/09/197148.htmlCunchCunchWed, 09 Jan 2013 04:46:00 GMThttp://www.shnenglu.com/Cunch/archive/2013/01/09/197148.htmlhttp://www.shnenglu.com/Cunch/comments/197148.htmlhttp://www.shnenglu.com/Cunch/archive/2013/01/09/197148.html#Feedback0http://www.shnenglu.com/Cunch/comments/commentRss/197148.htmlhttp://www.shnenglu.com/Cunch/services/trackbacks/197148.htmlhttp://www.csie.ntnu.edu.tw/~u91029/  台湾的国立师范大?/p>

http://www.notonlysuccess.com/  国内搞ACM?/p>

http://www.keithschwarz.com/  一个老外用STL实现的算法代?/p>

http://www.possibility.com/Cpp/CppCodingStandard.html  CPP代码规范



Cunch 2013-01-09 12:46 发表评论
]]>
曄?D资料的网址http://www.shnenglu.com/Cunch/archive/2013/01/09/197147.htmlCunchCunchWed, 09 Jan 2013 04:25:00 GMThttp://www.shnenglu.com/Cunch/archive/2013/01/09/197147.htmlhttp://www.shnenglu.com/Cunch/comments/197147.htmlhttp://www.shnenglu.com/Cunch/archive/2013/01/09/197147.html#Feedback0http://www.shnenglu.com/Cunch/comments/commentRss/197147.htmlhttp://www.shnenglu.com/Cunch/services/trackbacks/197147.htmlhttp://blog.csdn.net/trcj1/article/details/6163753

http://blog.sina.com.cn/s/blog_5e6fd4290100nhxa.html 

http://www.shnenglu.com/richardhe/archive/2008/03.html

http://www.cnitblog.com/linghuye/archive/2007/06/24/29007.html

3D游戏资料  http://www.shnenglu.com/flyindark/archive/2011/05/01/145475.aspx 

OGRE http://blog.sina.com.cn/s/articlelist_1159765812_1_1.html

http://www.shnenglu.com/lovedday/  3D知识

http://www.shnenglu.com/lai3d/ 

http://multi-crash.com/

http://www.shnenglu.com/billhsu/

 

|络~程

http://www.shnenglu.com/Solstice/archive/2011/04/17/144378.html



Cunch 2013-01-09 12:25 发表评论
]]>
2012q到的ȝhttp://www.shnenglu.com/Cunch/archive/2013/01/09/197142.htmlCunchCunchWed, 09 Jan 2013 03:08:00 GMThttp://www.shnenglu.com/Cunch/archive/2013/01/09/197142.htmlhttp://www.shnenglu.com/Cunch/comments/197142.htmlhttp://www.shnenglu.com/Cunch/archive/2013/01/09/197142.html#Feedback0http://www.shnenglu.com/Cunch/comments/commentRss/197142.htmlhttp://www.shnenglu.com/Cunch/services/trackbacks/197142.html

       昨天刚考完试,今天本来是要d验室的,但是想了惛_了又能干啥呢Q现在有点小qQ感觉自己L很晕QL被各U事情牵着d走。今天出去{了{Q本来是惛_SOHO望京看看的,但是L找不刎ͼ又不想问人,貌似我现在特别怕和别h说话Q然后又回来了。一个h在熙熙攘攘的人群中,漫无目的的走着Q观察者周围的人,都是Z生活疲于奔命Q有刚下班ؓ了回家的上班赎ͼ一脸的疲倦,也有Z回家的农民朋友,一看他们就是很节省Q貌DI着从老家带来的衣服,背着不知道被~补q多次的包Q但是从他们的脸上熾露出的笑容,一U收L感觉Q一U可以与家h团聚的喜悦,当然q有一帮到处游玩的q轻人,Q给我印象很q是一Ҏ侣,貌似在讨Z的h|那个女的义正a辞的_书是承蝲文化的蝲体,书本w是没有价值的Q?我在惌些话是很有道理,但是与其说这些,q不如好好的看基本书Q现在的我们以ؓ信息是知识Q那是错的,接收没有自己的思想的东西,和吃了被别人嚼烂的食物一P虽然貌似也能得到点什么,但是没有自己的参与,你还是不知道其中的各U滋呟뀂) 。在地铁上,今天貌似看见两个女生Q貌似是学生Q,一个拿着iphone5Q一看就是非LQ,但是另外一个女生的眼神l我留下了很q印象Q很大的眼睛QM是我喜Ƣ的那种cdQ很不好意思的多看了她几眼Q貌D人家发现了,囧囧。。。,q有今天出去l我的感觉,我现在特别不愿意怿别h的话Q纵使我知道那是Ҏ好的Q我q是希望L南墙?/font>

   今天特别惨的是又到地铁里面警察查h了,哎我都不惌了每ơ出ȝ见都被查Q学生好么还是怎么的,N我长的象坏hQ那个警察凶扼杀Q还揪着我害怕我跑了Q查不查是我的自由,我不愿意配合Q再说也没犯啥事是吧。。哎q都W三ơ。。?/font>

   2012Q对我来说是q_^淡EQ貌g没啥可以说的Q都是按预想的来的吧Q顺利毕业(虽然毕业设计实写的很挫Q,波澜不惊的在本校和北师之间选择了本校,然后来实验室干z,虽然很苦逼的大概做了4个多月,中途还上课什么的Q但是这个过E下来还是有点小收获的,虽然没有很高的收入,但是混口饭吃的钱q是有的Q感觉自己在目中,虽然起了作用Q但是还是没有很好的完成自己的Q务,主要是自己没有深入进去,做事情的Ҏ实不对Q碰到问题,gL没有很好的办法来解决q个问题Q有点像Q热锅上的蚂蚁一PQ感觉需要抓住媄响一个事情所有的因素Q枚举来排除每种可能可以了Q但是L很粗心的漏掉了很多的问题。感觉我们项目中的破H效应比较严重,比如大家的代码都不是很规范,很多需要改q的地方。研I生的学习,感觉自己一直不在状态,看着大家都在L态度Q我也开始؜Q貌似我对奖学金的诱惑貌g没那么强Q对成W也就那样了。貌D是q一q做的事情。。。?/font>

   在生zMQ认识了一能朋友Q有比我?岁的大哥Q确实和我们不一PZh处事说话都很CQ这一点确实值得我们学习Q给我们讲了很多公司里面的事情,然我再一ơ的感觉刎ͼ技术什么的都是工具Q与Z合作也是很重要的,自己的各斚w的能力,表达能力真心得提升一下。还有就是n体,感觉自己来不把自己当回事了,真心得注意一下自qq方面的问题啦,q是是找个x友啊。值得一提是今年爬了些北京的山,什么凤凰岭、香山、蟒山、鹫峎ͼ都爬了下感觉不错啦?/font>

   在技术上Q没有学什么新的技术,q是只是熟悉C++Q只是学会了单的QT下的~程Q所以未来的一q_我准备对我计机的基素养好好提升一下,感觉自己知道的很多东襉K飘在上面Q没有真心得沉淀下去Q今q的感觉是自q性的一面在减弱。自己弄了很多本书都没有开始看。。?Lq些没有必要q的事情。。?感觉自己很多以前会的东西都不会了Q好长时间没写blogQ感觉好多东西该记录的都没记录。。?/font>

 

      未来2013q的计划Q?/font>

      生活Q?/font>

      1、至长胖个5斤吧Q?

      2、爬北京5座山Q?/font>

      3、去郊外走走Q如果有旉可以d他省逛逛。。?

      4、但愿找个妹子, 臛_学会照顾人啊。。。锻Dp话的能力啊。。?/font>

      5、锻Dn体啦。。?/font>

      技术:

      0、锻Dp决问题的能力Q?/font>

      1、熟悉一门函数型语言Qpythonq是惛_?/font>

      2、好好读一下《深入计机pȝ》,主要需要完成课后的几个实验

      3、学习SICP

      4、熟悉用LinuxQ特别是VIM使用Q必要的时候研M代码

      5、数据结构和法Q准备从新来q,没事了参加个topcoder或者codeforces什么的Q至不能太靠后?/font>

      6、徏立一个个人的博客

      7、至写一个自qAPP应用Q或者写一个网l爬虫相关的东西吧(L感觉q玩意有点神奇)



Cunch 2013-01-09 11:08 发表评论
]]>
QT和Oracleq接的oci驱动的编?/title><link>http://www.shnenglu.com/Cunch/archive/2012/05/22/175729.html</link><dc:creator>Cunch</dc:creator><author>Cunch</author><pubDate>Tue, 22 May 2012 03:08:00 GMT</pubDate><guid>http://www.shnenglu.com/Cunch/archive/2012/05/22/175729.html</guid><wfw:comment>http://www.shnenglu.com/Cunch/comments/175729.html</wfw:comment><comments>http://www.shnenglu.com/Cunch/archive/2012/05/22/175729.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/Cunch/comments/commentRss/175729.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Cunch/services/trackbacks/175729.html</trackback:ping><description><![CDATA[<p>QT ?Oracleq接oci驱动的编? <p><font color="#000000"><strong>一、前提安?/strong></font> <p>前提Q需要安装QTQ本介绍安装的是qt-sdk-win-opensource-2010.05.exeQ? <p>1?安装oracle客户端,本介l里面安装的路径为F:\app\CunchQ记作ؓORACELPATH <p>2?开始菜单中扑ֈ <p>如上图所CQt Command PromptQ?在这里QT已经把编译的环境导入Q下来我们只需要把工程加蝲q去Q? <p>3?打开上面的那个控制台Q开始设|相关目? <p><a href="http://www.shnenglu.com/images/cppblog_com/Cunch/Windows-Live-Writer/QTOracleoci_9A4E/image_2.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.shnenglu.com/images/cppblog_com/Cunch/Windows-Live-Writer/QTOracleoci_9A4E/image_thumb.png" width="411" height="160"></a> <p><strong>二、编?/strong> <p>下面?ORACLEPATH%需要换成自己安装oracle的相关目? <p>Q?Q?讄include目录Q? <p>set <p>INCLUDE=%INCLUDE%;%ORACLEPATH%\product\11.2.0\client_1\oci\include <p>Q?Q?讄LIB目录 <p>set LIB=%LIB%;%ORACLEPATH%\product\11.2.0\client_1\oci\lib\msvc <p>Q?Q?q入qt中oci的工E目? <p>cd %QTDIR%\src\plugins\sqldrivers\oci <p>Q?Q?开始qmake~译q程Qqmake oci.pro <p>Q?Q?利用gcc的库q行~译Q?mingw32-make <p>q样q译完成了 <p><a href="http://www.shnenglu.com/images/cppblog_com/Cunch/Windows-Live-Writer/QTOracleoci_9A4E/image_4.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.shnenglu.com/images/cppblog_com/Cunch/Windows-Live-Writer/QTOracleoci_9A4E/image_thumb_1.png" width="640" height="422"></a> <img src ="http://www.shnenglu.com/Cunch/aggbug/175729.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/Cunch/" target="_blank">Cunch</a> 2012-05-22 11:08 <a href="http://www.shnenglu.com/Cunch/archive/2012/05/22/175729.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Enigma decode 可以和支付宝奛_E师p晚餐的机?/title><link>http://www.shnenglu.com/Cunch/archive/2012/03/10/167549.html</link><dc:creator>Cunch</dc:creator><author>Cunch</author><pubDate>Sat, 10 Mar 2012 05:07:00 GMT</pubDate><guid>http://www.shnenglu.com/Cunch/archive/2012/03/10/167549.html</guid><wfw:comment>http://www.shnenglu.com/Cunch/comments/167549.html</wfw:comment><comments>http://www.shnenglu.com/Cunch/archive/2012/03/10/167549.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.shnenglu.com/Cunch/comments/commentRss/167549.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Cunch/services/trackbacks/167549.html</trackback:ping><description><![CDATA[<p>1、原文在<a title="http://club.alipay.com/read-htm-tid-10714525.html" >http://club.alipay.com/read-htm-tid-10714525.html</a></p> <p>2、mmq是很仁慈的告诉你这是二战的时候的用的密码技术,baidu下就知道enigmaQ然后google下弄下原?/p> <p>     q个的设计的核心是转子Q而且破译密码的关键就是知道初始的位置Q而且mml了ALI昄是最开始用的那?个{子的enigma</p> <p>     唯一让我U结的就是每个{子的映射表;其实知道不知道都没有关系?让我费了很多时?</p> <p>3、下面讲下破解方法:</p> <p>     1、手动破解(也是mm最希望的,mm希望看到你的诚意啊,不过实很篏啊)Q?/p> <p>          利用Paper Enigma MachineQ利用纸自制一个Enigma Machine q个是老外弄的实很赞啊, 只需一张A4U?/p> <p>          具体参考请看:<a title="http://mckoss.com/Crypto/Enigma.htm" >http://mckoss.com/Crypto/Enigma.htm</a>   上面提供?原理和下载链?/p> <p>     2、程序破解: 其实上面的那个网上也是有的(web版)<a title="http://startpad.googlecode.com/hg/labs/js/enigma/enigma-sim.html" >http://startpad.googlecode.com/hg/labs/js/enigma/enigma-sim.html</a></p> <p>     3、破解的时候碰到困隄上搜索到的(赞这位朋友)Q?大必备工?/p> <p>         1?a title="http://baike.baidu.com/view/15482.htm" >http://baike.baidu.com/view/15482.htm</a></p> <p>         2?a title="http://blog.renren.com/share/235993462/1219448923" >http://blog.renren.com/share/235993462/1219448923</a></p> <p>         3?a title="http://enigmaco.de/enigma/enigma.html" >http://enigmaco.de/enigma/enigma.html</a></p> <p>     </p> <p>       4、我破解到的难处是ALI用完了后Q得到的明文里面有welcomeq个单词Q还有一堆的YYYYYYQ我怿我破解对了,但是没有惛_</p> <p>            用AZ BYq个关键的地?哎哎?/p> <p>       5、接下来是用第二条映射表的提示信息Q把I格 Q等昄出来</p> <p>       6、破解完了竟然只有个weibo账号啊,郁闷啊,q去已经别无数的ggl强了先?/p> <p>       7、希望大家破解愉快啊</p> <p>      8、晒下自q破解工具</p> <p>     9、当然大家也可以写程序啊Q本行啊</p> <p>    <a href="http://www.shnenglu.com/images/cppblog_com/Cunch/Windows-Live-Writer/Enigma_B280/20120310463_2.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="20120310463" alt="20120310463" src="http://www.shnenglu.com/images/cppblog_com/Cunch/Windows-Live-Writer/Enigma_B280/20120310463_thumb.jpg" height="463" border="0" width="644" /></a></p><img src ="http://www.shnenglu.com/Cunch/aggbug/167549.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/Cunch/" target="_blank">Cunch</a> 2012-03-10 13:07 <a href="http://www.shnenglu.com/Cunch/archive/2012/03/10/167549.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>可悲的h情h节,扑ַ作求?/title><link>http://www.shnenglu.com/Cunch/archive/2012/02/14/165588.html</link><dc:creator>Cunch</dc:creator><author>Cunch</author><pubDate>Tue, 14 Feb 2012 12:35:00 GMT</pubDate><guid>http://www.shnenglu.com/Cunch/archive/2012/02/14/165588.html</guid><wfw:comment>http://www.shnenglu.com/Cunch/comments/165588.html</wfw:comment><comments>http://www.shnenglu.com/Cunch/archive/2012/02/14/165588.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.shnenglu.com/Cunch/comments/commentRss/165588.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Cunch/services/trackbacks/165588.html</trackback:ping><description><![CDATA[<blockquote> <p>         本h大四 211本科Q?专业是数字媒体专业,有一qC++目的经验,做过的项目主要是3D游戏相关的?同时有在西山居实习经历,后由于考研没有l箋。希望找一个工作,主要是做C++方向,能保证全职。不知道为啥Ҏbbs.gameres.com上的招聘信息Q在|上投几个简历,只有一个给了面试(在明天)Q?Zl自己多留下后\Q希望各位前辈们Q如果贵公司有合适的职位的话Q希望能留下贵公司的招聘邮箱?nbsp; 谢谢各位了?不胜感激Q!Q?nbsp; 可悲的情q在扑ַ作。。。?/p></blockquote><img src ="http://www.shnenglu.com/Cunch/aggbug/165588.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/Cunch/" target="_blank">Cunch</a> 2012-02-14 20:35 <a href="http://www.shnenglu.com/Cunch/archive/2012/02/14/165588.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2012考研ȝhttp://www.shnenglu.com/Cunch/archive/2012/01/10/163928.htmlCunchCunchTue, 10 Jan 2012 03:55:00 GMThttp://www.shnenglu.com/Cunch/archive/2012/01/10/163928.htmlhttp://www.shnenglu.com/Cunch/comments/163928.htmlhttp://www.shnenglu.com/Cunch/archive/2012/01/10/163928.html#Feedback0http://www.shnenglu.com/Cunch/comments/commentRss/163928.htmlhttp://www.shnenglu.com/Cunch/services/trackbacks/163928.html         下决心考研Q一直在考研与工作之间犹豫,于是暑假去实习了一个月Q在哪里见了很多的研I生Q感觉自q学历很低啊,于是决定考研了。我是这么想的考研的话肯定是不M大了Q确实是x个环境,于是选择了北航(既不是很高也不是很低的学校,同时q是跨专业Q?/p>

         考研的过E:Ҏ来说考研是3个半月,其中q有几天休息的,其实也就?个月吧,自我感觉数学q行Q但是我太粗心容易算错,专业和英语我是一开始就复习了,政治我放C考前50天吧。由于没有固定的座位Q就q样每天背个包去打游凅R到最后感觉自己准备了80%吧,也许更少。不q让我对自己的专业有了更q了解?/p>

         考研的那两天Qȝ来说q是不错的,晚上在宿舍,中午到我同学那去,q有同学的热情款待。不q这两天的睡眠还是很不错的,和高考比好多了?/p>

详细l过吧: 1.7P早晨6:30的闹铃响了,但我7:00才的爬了hQ我舍友上班提前出去了,l我发了个短信说下雪了,我还是很喜欢雪的Q幸好冬天没雨啊Q,我回复了一?#8220;瑞雪兆丰q?#8221;Q我的信心有来了一倍啊。接下来各种爽啊Q首先走到公交站収ͼ438到了,一个箭步迈上去Q?0分钟到北航。由于提前查了考场Q找C最优的路线Q所以还是很L的找C 教授Q我竟然在第二考场Q这辈子与二太有~了Q小?初中 高中 大学 都是带的二班Q没惛_q次又是二)Q以为和交大一h那种30人的考场Q没惛_是那U?10人的Q还是在北航的主楼的一个古老的报告厅(看样子是刚徏校的那会Q苏联模式的Q,在这样充满历史的气息的地方,我感觉太好了。第一天政治,p感觉不错啊,p一看乐观和悲观Q我想了会想了个乔布斯的例子Q感觉不错,考完回望了北航,感觉人生会从q里改写似的。第二天数学感觉打的不错Q但是会错很多,专业课感觉答的很挫啊。感觉考不上的可能性大了?/p>

            ȝQ这ơ考研是h生的一ơ磨l吧Q得大于失,成功不仅仅是一个证书吧?/p>

Cunch 2012-01-10 11:55 发表评论
]]>
˾Ʒþ| ݺݸɺݺݾþ| ݺۺϾþAVһ | ˾ƷǾþ| پþþƷþ| þþþAVվ| ޹˾þۺһ77| ڸþþþþ| þۺϾþþ| ֻƬþøպ| þþþó˾ƷĻ| ձƬҹþ| þۺϹapp| AVһþ| þ99ֻоƷ| ƷþþĻ| ݺɫۺվþþþþþ | þùƷ԰| þþƷŷƬ| þùۺϾƷ| 97þþƷһ| ŷպƷþþþ| þþĻ| Vþþ| Ը߳þþþþþþþ| ˾Ʒþۺ| þþƷһ| þ99Ʒþþôѧ| þ޹ӰԺվ| ھƷþþþþþþõӰ | þþƷһ| 69Ʒþþþվ| þҹ³˿ƬҹƷ| ˾þĻ| AVɫۺϾþAVɫۺ| 69Ʒþþþ9999APGF| þþƷŷպ99| ޾Ʒһþ| þ̳| 鶹þþ9ԴƬ| þۺɫɫ|