<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[MATAOQING的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/MATAOQING</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; MATAOQING]]></copyright><item><title><![CDATA[1000桶酒中寻找一桶毒酒算法]]></title><link>https://blog.youkuaiyun.com/MATAOQING/article/details/39270605</link><guid>https://blog.youkuaiyun.com/MATAOQING/article/details/39270605</guid><author>MATAOQING</author><pubDate>Sun, 14 Sep 2014 16:22:34 +0800</pubDate><description><![CDATA[有1000桶酒，其中1桶有毒。而一旦吃了，毒性会在1周后发作。现在我们用小老鼠做实验，要在1周后找出那桶毒酒，问最少需要多少老鼠，如何检测（老鼠的使用量越少越好，注意，毒性1周后才会发作，而且一周后必须出结果，所以时间紧迫）


思路： 

为何需要老鼠做实验，显然是根据老鼠的死活来判断酒的毒性，每一只老鼠只有2种状态，死和活，n只老鼠就是这n个死或活的状态，应该由此敏感的联想到二进制，]]></description><category></category></item><item><title><![CDATA[如何走好人生的第一个五年--写给即将工作和刚刚工作的人]]></title><link>https://blog.youkuaiyun.com/MATAOQING/article/details/39207031</link><guid>https://blog.youkuaiyun.com/MATAOQING/article/details/39207031</guid><author>MATAOQING</author><pubDate>Thu, 11 Sep 2014 15:36:47 +0800</pubDate><description><![CDATA[偶然在未名站读到的帖子，其实是一个系列，我在BBS上只找到了后面的两篇，昨晚躺在床上当做睡前读物，结果阅读越兴奋，睡醒第一件事就是把它分享出来。
不可否认，和社会BBS上的经验文相比，名校BBS上学长学姐写给母校学弟学妹们的东西，是最可读的了，这个系列的文章如是，当年那本北外的《赢在国商》也是。我总觉得，对自己最亲近的校友，肯定也是最用心、最负责的了。
因为我自己阅读的顺序是这个系列的二、三、]]></description><category></category></item><item><title><![CDATA[KMP算法]]></title><link>https://blog.youkuaiyun.com/MATAOQING/article/details/39049265</link><guid>https://blog.youkuaiyun.com/MATAOQING/article/details/39049265</guid><author>MATAOQING</author><pubDate>Thu, 04 Sep 2014 10:43:46 +0800</pubDate><description><![CDATA[void getNext(char *s)
{
     
}]]></description><category></category></item><item><title><![CDATA[deep_c++::多态，虚函数的一点理解]]></title><link>https://blog.youkuaiyun.com/MATAOQING/article/details/38540419</link><guid>https://blog.youkuaiyun.com/MATAOQING/article/details/38540419</guid><author>MATAOQING</author><pubDate>Wed, 13 Aug 2014 17:55:09 +0800</pubDate><description><![CDATA[我们从表中可以看到下面几点，
1）覆盖的f()函数被放到了虚表中原来父类虚函数的位置。
2）没有被覆盖的函数依旧。
这样，我们就可以看到对于下面这样的程序，

Base *b = new Derive();

b->f();]]></description><category></category></item><item><title><![CDATA[deep_c++:对象的数据成员]]></title><link>https://blog.youkuaiyun.com/MATAOQING/article/details/38539337</link><guid>https://blog.youkuaiyun.com/MATAOQING/article/details/38539337</guid><author>MATAOQING</author><pubDate>Wed, 13 Aug 2014 16:55:59 +0800</pubDate><description><![CDATA[class X{
    virtual void vf(){};
};
class X2:virtual public X
{
  virtual void vf(){};
};
class X3:virtual public  X2
{
     virtual void vf(){};
}



X3将包含有一个Vptr，两个Vbptr。确切的说这两个Vbptr一个属于X3，一个属于X]]></description><category></category></item><item><title><![CDATA[deep_c++:内存对齐]]></title><link>https://blog.youkuaiyun.com/MATAOQING/article/details/38539049</link><guid>https://blog.youkuaiyun.com/MATAOQING/article/details/38539049</guid><author>MATAOQING</author><pubDate>Wed, 13 Aug 2014 16:43:43 +0800</pubDate><description><![CDATA[class L{
double  d;
    char c;
    
    int i;};

siz]]></description><category></category></item><item><title><![CDATA[deep_c++:C++类对象的大小]]></title><link>https://blog.youkuaiyun.com/MATAOQING/article/details/38538511</link><guid>https://blog.youkuaiyun.com/MATAOQING/article/details/38538511</guid><author>MATAOQING</author><pubDate>Wed, 13 Aug 2014 16:14:28 +0800</pubDate><description><![CDATA[class X{};
class Y:virtual public X{};
class Z:virtual public X{};
class A:public Y, public Z{};
int main()
{
X x;
Y y;
Z z;
A a;
cout 
cout 
cout 
cout 
getchar();
return 0;
}]]></description><category></category></item><item><title><![CDATA[deep_c++:拷贝构造函数]]></title><link>https://blog.youkuaiyun.com/MATAOQING/article/details/38538001</link><guid>https://blog.youkuaiyun.com/MATAOQING/article/details/38538001</guid><author>MATAOQING</author><pubDate>Wed, 13 Aug 2014 15:47:22 +0800</pubDate><description><![CDATA[需要用到拷贝构造函数的三种情形：
1）将一个对象对另外一个对象]]></description><category></category></item><item><title><![CDATA[deep_c++:构造函数——1]]></title><link>https://blog.youkuaiyun.com/MATAOQING/article/details/38537527</link><guid>https://blog.youkuaiyun.com/MATAOQING/article/details/38537527</guid><author>MATAOQING</author><pubDate>Wed, 13 Aug 2014 15:36:56 +0800</pubDate><description><![CDATA[一般情况下，bin]]></description><category></category></item><item><title><![CDATA[deep_c++:c++对象模型]]></title><link>https://blog.youkuaiyun.com/MATAOQING/article/details/38536911</link><guid>https://blog.youkuaiyun.com/MATAOQING/article/details/38536911</guid><author>MATAOQING</author><pubDate>Wed, 13 Aug 2014 14:56:35 +0800</pubDate><description><![CDATA[class Point  
{  
public:  
    Point( float xval ); 
    virtual ~Point();      
    float x() const;  
    static int PointCount();
protected:  
    virtual ostream&  print( ostream &os ) const;
   ]]></description><category></category></item><item><title><![CDATA[tip11:在operator=中处理自我赋值]]></title><link>https://blog.youkuaiyun.com/MATAOQING/article/details/38459853</link><guid>https://blog.youkuaiyun.com/MATAOQING/article/details/38459853</guid><author>MATAOQING</author><pubDate>Sat, 09 Aug 2014 20:21:23 +0800</pubDate><description><![CDATA[class bitmap{};


class Widget
{
public:
Widget();
~Widget();
Widget & operator=(const Widget &rhn);
private:
bitmap *pb;
};


Widget & Widget :: operator=(const Widget &rhn)
{
delete ]]></description><category></category></item><item><title><![CDATA[tip：10  务必在operator=中返回reference to *this]]></title><link>https://blog.youkuaiyun.com/MATAOQING/article/details/38459707</link><guid>https://blog.youkuaiyun.com/MATAOQING/article/details/38459707</guid><author>MATAOQING</author><pubDate>Sat, 09 Aug 2014 20:08:02 +0800</pubDate><description><![CDATA[这样做的主要目的是实现x]]></description><category></category></item><item><title><![CDATA[tip9:绝不在构造和析构函数中使用virtual函数]]></title><link>https://blog.youkuaiyun.com/MATAOQING/article/details/38459421</link><guid>https://blog.youkuaiyun.com/MATAOQING/article/details/38459421</guid><author>MATAOQING</author><pubDate>Sat, 09 Aug 2014 19:41:33 +0800</pubDate><description><![CDATA[class Transaction
{
public:
Transaction();
//~Transaction();
virtual void logTranscation() const = 0;
};


Transaction :: Transaction()
{
....
logTranscation();
}


class BuyTransactio]]></description><category></category></item><item><title><![CDATA[tip8：别让异常逃离析构函数]]></title><link>https://blog.youkuaiyun.com/MATAOQING/article/details/38459241</link><guid>https://blog.youkuaiyun.com/MATAOQING/article/details/38459241</guid><author>MATAOQING</author><pubDate>Sat, 09 Aug 2014 19:18:41 +0800</pubDate><description><![CDATA[使用双保险保证异常不跑出析构函数：]]></description><category></category></item><item><title><![CDATA[hone hone clock]]></title><link>https://blog.youkuaiyun.com/MATAOQING/article/details/38459117</link><guid>https://blog.youkuaiyun.com/MATAOQING/article/details/38459117</guid><author>MATAOQING</author><pubDate>Sat, 09 Aug 2014 19:00:58 +0800</pubDate><description><![CDATA[http://files2.17173.com/__flash/2011/10/21/honehone_clock_tr.swf]]></description><category></category></item><item><title><![CDATA[tip7:为多态基类声明virtual析构函数]]></title><link>https://blog.youkuaiyun.com/MATAOQING/article/details/38458203</link><guid>https://blog.youkuaiyun.com/MATAOQING/article/details/38458203</guid><author>MATAOQING</author><pubDate>Sat, 09 Aug 2014 16:57:25 +0800</pubDate><description><![CDATA[作为基类的析构函数]]></description><category></category></item><item><title><![CDATA[tip6:若不想使用编译器自动生成的函数，就该明确拒绝]]></title><link>https://blog.youkuaiyun.com/MATAOQING/article/details/38457951</link><guid>https://blog.youkuaiyun.com/MATAOQING/article/details/38457951</guid><author>MATAOQING</author><pubDate>Sat, 09 Aug 2014 16:38:11 +0800</pubDate><description><![CDATA[1、有些情况下，我们不希望对象被拷贝，比如独一无二的对象，拷贝是没有意义的。这种情况下，我们应该禁止拷贝。也就是不提供copy构造和copy赋值，可问题是，如果我们不提供，编译器会自动生成。那该怎么办？
2、我们声明copy构造和copy赋值为private，这就明确告诉了编译器，我已经声明了，你别为我生成了。由于copy构造和copy赋值是private，就禁止了外部的拷贝操作。
　　但仔细]]></description><category></category></item><item><title><![CDATA[tip5:了解C++默默编写并调用了哪些函数]]></title><link>https://blog.youkuaiyun.com/MATAOQING/article/details/38457699</link><guid>https://blog.youkuaiyun.com/MATAOQING/article/details/38457699</guid><author>MATAOQING</author><pubDate>Sat, 09 Aug 2014 16:24:47 +0800</pubDate><description><![CDATA[默认的函数有：
1，构造函数
2]]></description><category></category></item><item><title><![CDATA[effective c++ tip3：尽可能使用const]]></title><link>https://blog.youkuaiyun.com/MATAOQING/article/details/38454295</link><guid>https://blog.youkuaiyun.com/MATAOQING/article/details/38454295</guid><author>MATAOQING</author><pubDate>Sat, 09 Aug 2014 10:34:42 +0800</pubDate><description><![CDATA[1，修饰变量
2，修饰类成员函数，]]></description><category></category></item></channel></rss>